@btc-vision/transaction 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/_version.d.ts +1 -1
- package/browser/generators/AddressGenerator.d.ts +7 -0
- package/browser/generators/builders/DeploymentGenerator.d.ts +1 -0
- package/browser/index.js +1 -1
- package/browser/keypair/Wallet.d.ts +1 -0
- package/browser/opnet.d.ts +2 -0
- package/browser/tests/Regtest.d.ts +3 -0
- package/browser/tests/gen.d.ts +1 -0
- package/browser/tests/test.d.ts +1 -0
- package/browser/tests/transfer.d.ts +1 -0
- package/browser/transaction/builders/TransactionBuilder.d.ts +4 -3
- package/browser/verification/TapscriptVerificator.d.ts +17 -0
- package/build/_version.d.ts +1 -1
- package/build/_version.js +1 -1
- package/build/generators/AddressGenerator.d.ts +7 -0
- package/build/generators/AddressGenerator.js +21 -0
- package/build/generators/OPNetAddressGenerator.d.ts +0 -0
- package/build/generators/OPNetAddressGenerator.js +1 -0
- package/build/generators/builders/DeploymentGenerator.d.ts +1 -0
- package/build/generators/builders/DeploymentGenerator.js +10 -7
- package/build/keypair/Wallet.d.ts +1 -0
- package/build/keypair/Wallet.js +6 -0
- package/build/opnet.d.ts +2 -0
- package/build/opnet.js +2 -0
- package/build/scripts/Regtest.d.ts +0 -1
- package/build/scripts/Regtest.js +0 -14
- package/build/scripts/test.js +7 -7
- package/build/tests/gen.d.ts +1 -0
- package/build/tests/gen.js +15 -0
- package/build/tests/test.d.ts +1 -0
- package/build/tests/test.js +51 -1
- package/build/tests/transfer.d.ts +1 -0
- package/build/tests/transfer.js +74 -0
- package/build/transaction/builders/TransactionBuilder.d.ts +4 -3
- package/build/transaction/builders/TransactionBuilder.js +9 -4
- package/build/verification/TapscriptVerificator.d.ts +17 -0
- package/build/verification/TapscriptVerificator.js +43 -0
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/AddressGenerator.html +178 -0
- package/docs/classes/BitcoinUtils.html +3 -3
- package/docs/classes/CalldataGenerator.html +10 -10
- package/docs/classes/Compressor.html +4 -4
- package/docs/classes/ContractBaseMetadata.html +4 -4
- package/docs/classes/DeploymentGenerator.html +10 -9
- package/docs/classes/EcKeyPair.html +16 -16
- package/docs/classes/FundingTransaction.html +73 -50
- package/docs/classes/Generator.html +9 -9
- package/docs/classes/InteractionTransaction.html +94 -71
- package/docs/classes/TapscriptVerificator.html +180 -0
- package/docs/classes/TransactionBuilder.html +76 -53
- package/docs/classes/TransactionFactory.html +2 -2
- package/docs/classes/TweakedSigner.html +2 -2
- package/docs/classes/UTXOManager.html +3 -3
- package/docs/classes/Wallet.html +11 -9
- package/docs/classes/wBTC.html +7 -7
- package/docs/enums/TransactionType.html +2 -2
- package/docs/interfaces/ContractAddressVerificationParams.html +179 -0
- package/docs/interfaces/FetchUTXOParams.html +2 -2
- package/docs/interfaces/IFundingTransactionParameters.html +2 -2
- package/docs/interfaces/IInteractionParameters.html +2 -2
- package/docs/interfaces/ITransactionDataContractDeployment.html +2 -2
- package/docs/interfaces/ITransactionDataContractInteractionWrap.html +2 -2
- package/docs/interfaces/ITransactionParameters.html +2 -2
- package/docs/interfaces/IWallet.html +4 -4
- package/docs/interfaces/NetworkInformation.html +2 -2
- package/docs/interfaces/PsbtInputExtended.html +1 -1
- package/docs/interfaces/PsbtOutputExtendedAddress.html +2 -2
- package/docs/interfaces/PsbtOutputExtendedScript.html +2 -2
- package/docs/interfaces/RawUTXOResponse.html +2 -2
- package/docs/interfaces/TapLeafScript.html +2 -2
- package/docs/interfaces/TweakSettings.html +3 -3
- package/docs/interfaces/UTXO.html +2 -2
- package/docs/interfaces/UpdateInput.html +2 -2
- package/docs/modules.html +5 -2
- package/docs/types/PsbtOutputExtended.html +1 -1
- package/docs/variables/version.html +1 -1
- package/package.json +2 -1
- package/src/_version.ts +1 -1
- package/src/generators/AddressGenerator.ts +29 -0
- package/src/generators/builders/DeploymentGenerator.ts +16 -13
- package/src/keypair/Wallet.ts +12 -0
- package/src/opnet.ts +4 -0
- package/src/tests/gen.ts +24 -0
- package/src/tests/test.ts +17 -54
- package/src/tests/transfer.ts +102 -0
- package/src/transaction/builders/TransactionBuilder.ts +12 -5
- package/src/verification/TapscriptVerificator.ts +89 -0
- package/tests/TransactionBuilder.test.ts +58 -58
- package/tsconfig.webpack.json +8 -0
|
@@ -156,11 +156,11 @@
|
|
|
156
156
|
--md-sys-color-surface-container-high: #efe7de;
|
|
157
157
|
--md-sys-color-surface-container-highest: #e9e1d9
|
|
158
158
|
}
|
|
159
|
-
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="UTXO.html">UTXO</a></li></ul><h1>Interface UTXO</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">UTXO</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#outputIndex">outputIndex</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#scriptPubKey">scriptPubKey</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ScriptPubKey</span><span class="tsd-signature-symbol">; </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#transactionId">transactionId</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#value">value</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/
|
|
159
|
+
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="UTXO.html">UTXO</a></li></ul><h1>Interface UTXO</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">UTXO</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#outputIndex">outputIndex</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#scriptPubKey">scriptPubKey</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ScriptPubKey</span><span class="tsd-signature-symbol">; </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#transactionId">transactionId</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><a class="tsd-kind-property" href="UTXO.html#value">value</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/utxo/interfaces/IUTXO.ts#L3">src/utxo/interfaces/IUTXO.ts:3</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="UTXO.html#outputIndex" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>output<wbr/>Index</span></a>
|
|
160
160
|
<a href="UTXO.html#scriptPubKey" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>script<wbr/>Pub<wbr/>Key</span></a>
|
|
161
161
|
<a href="UTXO.html#transactionId" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>transaction<wbr/>Id</span></a>
|
|
162
162
|
<a href="UTXO.html#value" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>value</span></a>
|
|
163
|
-
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member"><a id="outputIndex" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>output<wbr/>Index</span><a href="#outputIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">output<wbr/>Index</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/
|
|
163
|
+
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member"><a id="outputIndex" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>output<wbr/>Index</span><a href="#outputIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">output<wbr/>Index</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/utxo/interfaces/IUTXO.ts#L5">src/utxo/interfaces/IUTXO.ts:5</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="scriptPubKey" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>script<wbr/>Pub<wbr/>Key</span><a href="#scriptPubKey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">script<wbr/>Pub<wbr/>Key</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ScriptPubKey</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/utxo/interfaces/IUTXO.ts#L7">src/utxo/interfaces/IUTXO.ts:7</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="transactionId" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>transaction<wbr/>Id</span><a href="#transactionId" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">transaction<wbr/>Id</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/utxo/interfaces/IUTXO.ts#L4">src/utxo/interfaces/IUTXO.ts:4</a></li></ul></aside></section><section class="tsd-panel tsd-member"><a id="value" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>value</span><a href="#value" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">bigint</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/utxo/interfaces/IUTXO.ts#L6">src/utxo/interfaces/IUTXO.ts:6</a></li></ul></aside></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#outputIndex" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>output<wbr/>Index</span></a><a href="#scriptPubKey" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>script<wbr/>Pub<wbr/>Key</span></a><a href="#transactionId" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>transaction<wbr/>Id</span></a><a href="#value" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>value</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>OPNet</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div><script>
|
|
164
164
|
try {
|
|
165
165
|
const generateLinkElement = document.querySelector(".tsd-generator a");
|
|
166
166
|
const link = document.createElement("a");
|
|
@@ -156,8 +156,8 @@
|
|
|
156
156
|
--md-sys-color-surface-container-high: #efe7de;
|
|
157
157
|
--md-sys-color-surface-container-highest: #e9e1d9
|
|
158
158
|
}
|
|
159
|
-
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="UpdateInput.html">UpdateInput</a></li></ul><h1>Interface UpdateInput</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">UpdateInput</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="UpdateInput.html#tapLeafScript">tapLeafScript</a><span class="tsd-signature-symbol">: </span><a href="TapLeafScript.html" class="tsd-signature-type tsd-kind-interface">TapLeafScript</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/
|
|
160
|
-
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member"><a id="tapLeafScript" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>tap<wbr/>Leaf<wbr/>Script</span><a href="#tapLeafScript" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">tap<wbr/>Leaf<wbr/>Script</span><span class="tsd-signature-symbol">:</span> <a href="TapLeafScript.html" class="tsd-signature-type tsd-kind-interface">TapLeafScript</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/
|
|
159
|
+
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="UpdateInput.html">UpdateInput</a></li></ul><h1>Interface UpdateInput</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">UpdateInput</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="UpdateInput.html#tapLeafScript">tapLeafScript</a><span class="tsd-signature-symbol">: </span><a href="TapLeafScript.html" class="tsd-signature-type tsd-kind-interface">TapLeafScript</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/transaction/interfaces/Tap.ts#L10">src/transaction/interfaces/Tap.ts:10</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="UpdateInput.html#tapLeafScript" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>tap<wbr/>Leaf<wbr/>Script</span></a>
|
|
160
|
+
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member"><a id="tapLeafScript" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>tap<wbr/>Leaf<wbr/>Script</span><a href="#tapLeafScript" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">tap<wbr/>Leaf<wbr/>Script</span><span class="tsd-signature-symbol">:</span> <a href="TapLeafScript.html" class="tsd-signature-type tsd-kind-interface">TapLeafScript</a><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/transaction/interfaces/Tap.ts#L11">src/transaction/interfaces/Tap.ts:11</a></li></ul></aside></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#tapLeafScript" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>tap<wbr/>Leaf<wbr/>Script</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>OPNet</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div><script>
|
|
161
161
|
try {
|
|
162
162
|
const generateLinkElement = document.querySelector(".tsd-generator a");
|
|
163
163
|
const link = document.createElement("a");
|
package/docs/modules.html
CHANGED
|
@@ -157,7 +157,8 @@
|
|
|
157
157
|
--md-sys-color-surface-container-highest: #e9e1d9
|
|
158
158
|
}
|
|
159
159
|
</style><link rel="stylesheet" href="assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h2>OPNet</h2></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><h3 class="tsd-index-heading uppercase">Index</h3><section class="tsd-index-section"><h3 class="tsd-index-heading">Enumerations</h3><div class="tsd-index-list"><a href="enums/TransactionType.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-8"></use></svg><span>Transaction<wbr/>Type</span></a>
|
|
160
|
-
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Classes</h3><div class="tsd-index-list"><a href="classes/
|
|
160
|
+
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Classes</h3><div class="tsd-index-list"><a href="classes/AddressGenerator.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Address<wbr/>Generator</span></a>
|
|
161
|
+
<a href="classes/BitcoinUtils.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Bitcoin<wbr/>Utils</span></a>
|
|
161
162
|
<a href="classes/CalldataGenerator.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Calldata<wbr/>Generator</span></a>
|
|
162
163
|
<a href="classes/Compressor.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Compressor</span></a>
|
|
163
164
|
<a href="classes/ContractBaseMetadata.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Contract<wbr/>Base<wbr/>Metadata</span></a>
|
|
@@ -166,13 +167,15 @@
|
|
|
166
167
|
<a href="classes/FundingTransaction.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Funding<wbr/>Transaction</span></a>
|
|
167
168
|
<a href="classes/Generator.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Generator</span></a>
|
|
168
169
|
<a href="classes/InteractionTransaction.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Interaction<wbr/>Transaction</span></a>
|
|
170
|
+
<a href="classes/TapscriptVerificator.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Tapscript<wbr/>Verificator</span></a>
|
|
169
171
|
<a href="classes/TransactionBuilder.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Transaction<wbr/>Builder</span></a>
|
|
170
172
|
<a href="classes/TransactionFactory.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Transaction<wbr/>Factory</span></a>
|
|
171
173
|
<a href="classes/TweakedSigner.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Tweaked<wbr/>Signer</span></a>
|
|
172
174
|
<a href="classes/UTXOManager.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>UTXOManager</span></a>
|
|
173
175
|
<a href="classes/Wallet.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Wallet</span></a>
|
|
174
176
|
<a href="classes/wBTC.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>wBTC</span></a>
|
|
175
|
-
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Interfaces</h3><div class="tsd-index-list"><a href="interfaces/
|
|
177
|
+
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Interfaces</h3><div class="tsd-index-list"><a href="interfaces/ContractAddressVerificationParams.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Contract<wbr/>Address<wbr/>Verification<wbr/>Params</span></a>
|
|
178
|
+
<a href="interfaces/FetchUTXOParams.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>FetchUTXOParams</span></a>
|
|
176
179
|
<a href="interfaces/IFundingTransactionParameters.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>IFunding<wbr/>Transaction<wbr/>Parameters</span></a>
|
|
177
180
|
<a href="interfaces/IInteractionParameters.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>IInteraction<wbr/>Parameters</span></a>
|
|
178
181
|
<a href="interfaces/ITransactionDataContractDeployment.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>ITransaction<wbr/>Data<wbr/>Contract<wbr/>Deployment</span></a>
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
--md-sys-color-surface-container-high: #efe7de;
|
|
157
157
|
--md-sys-color-surface-container-highest: #e9e1d9
|
|
158
158
|
}
|
|
159
|
-
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="PsbtOutputExtended.html">PsbtOutputExtended</a></li></ul><h1>Type alias PsbtOutputExtended</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Psbt<wbr/>Output<wbr/>Extended</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/PsbtOutputExtendedAddress.html" class="tsd-signature-type tsd-kind-interface">PsbtOutputExtendedAddress</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/PsbtOutputExtendedScript.html" class="tsd-signature-type tsd-kind-interface">PsbtOutputExtendedScript</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/
|
|
159
|
+
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="PsbtOutputExtended.html">PsbtOutputExtended</a></li></ul><h1>Type alias PsbtOutputExtended</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Psbt<wbr/>Output<wbr/>Extended</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/PsbtOutputExtendedAddress.html" class="tsd-signature-type tsd-kind-interface">PsbtOutputExtendedAddress</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/PsbtOutputExtendedScript.html" class="tsd-signature-type tsd-kind-interface">PsbtOutputExtendedScript</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/transaction/interfaces/Tap.ts#L26">src/transaction/interfaces/Tap.ts:26</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>OPNet</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div><script>
|
|
160
160
|
try {
|
|
161
161
|
const generateLinkElement = document.querySelector(".tsd-generator a");
|
|
162
162
|
const link = document.createElement("a");
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
--md-sys-color-surface-container-high: #efe7de;
|
|
157
157
|
--md-sys-color-surface-container-highest: #e9e1d9
|
|
158
158
|
}
|
|
159
|
-
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="version.html">version</a></li></ul><h1>Variable version<code class="tsd-tag ts-flagConst">Const</code> </h1></div><div class="tsd-signature"><span class="tsd-kind-variable">version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"1.0.
|
|
159
|
+
</style><link rel="stylesheet" href="../assets/material-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">OPNet</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">OPNet</a></li><li><a href="version.html">version</a></li></ul><h1>Variable version<code class="tsd-tag ts-flagConst">Const</code> </h1></div><div class="tsd-signature"><span class="tsd-kind-variable">version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"1.0.3"</span><span class="tsd-signature-symbol"> = '1.0.3'</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/btc-vision/transaction/blob/5743de7784c0b32e4f1ec1ef492bbef406a8a017/src/_version.ts#L1">src/_version.ts:1</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>OPNet</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div><script>
|
|
160
160
|
try {
|
|
161
161
|
const generateLinkElement = document.querySelector(".tsd-generator a");
|
|
162
162
|
const link = document.createElement("a");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"author": "BlobMaster41",
|
|
5
5
|
"description": "OPNet transaction library allows you to create and sign transactions for the OPNet network.",
|
|
6
6
|
"engines": {
|
|
@@ -100,6 +100,7 @@
|
|
|
100
100
|
"babel-plugin-transform-import-meta": "^2.2.1",
|
|
101
101
|
"babel-preset-react": "^6.24.1",
|
|
102
102
|
"babelify": "^10.0.0",
|
|
103
|
+
"bech32": "^2.0.0",
|
|
103
104
|
"bip32": "^4.0.0",
|
|
104
105
|
"bitcoinjs-lib": "github:btc-vision/bitcoinjs-lib",
|
|
105
106
|
"browserify-zlib": "^0.2.0",
|
package/src/_version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '1.0.
|
|
1
|
+
export const version = '1.0.3';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
import { bech32 } from 'bech32';
|
|
3
|
+
import { initEccLib, Network } from 'bitcoinjs-lib';
|
|
4
|
+
import * as ecc from 'tiny-secp256k1';
|
|
5
|
+
|
|
6
|
+
initEccLib(ecc);
|
|
7
|
+
|
|
8
|
+
export class AddressGenerator {
|
|
9
|
+
// Generate a valid SegWit address from random bytes
|
|
10
|
+
public static generatePKSH(sha256Hash: Buffer, network: Network): string {
|
|
11
|
+
if (sha256Hash.length !== 32) throw new Error('Invalid hash length');
|
|
12
|
+
|
|
13
|
+
const pkh = this.ripemd160(sha256Hash);
|
|
14
|
+
return this.toSegwitAddress(pkh, network);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Compute the RIPEMD-160 hash of a buffer
|
|
18
|
+
private static ripemd160(data: Buffer): Buffer {
|
|
19
|
+
return createHash('ripemd160').update(data).digest();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Convert a hash to a SegWit address
|
|
23
|
+
private static toSegwitAddress(pkh: Buffer, network: Network): string {
|
|
24
|
+
const words = bech32.toWords(pkh);
|
|
25
|
+
words.unshift(0x00); // Add the witness version byte (0x00 for P2WPKH)
|
|
26
|
+
|
|
27
|
+
return bech32.encode(network.bech32, words);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -17,9 +17,24 @@ export class DeploymentGenerator extends Generator {
|
|
|
17
17
|
* @returns {Buffer} - The compiled script
|
|
18
18
|
*/
|
|
19
19
|
public compile(contractBytecode: Buffer, contractSalt: Buffer): Buffer {
|
|
20
|
+
const asm = this.getAsm(contractBytecode, contractSalt);
|
|
21
|
+
const compiled = script.compile(asm);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Verify that the script can be decompiled
|
|
25
|
+
*/
|
|
26
|
+
const decompiled = script.decompile(compiled);
|
|
27
|
+
if (!decompiled) {
|
|
28
|
+
throw new Error('Failed to decompile script??');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return compiled;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private getAsm(contractBytecode: Buffer, contractSalt: Buffer): (number | Buffer)[] {
|
|
20
35
|
const dataChunks = this.splitBufferIntoChunks(contractBytecode);
|
|
21
36
|
|
|
22
|
-
|
|
37
|
+
return [
|
|
23
38
|
this.senderPubKey,
|
|
24
39
|
opcodes.OP_CHECKSIGVERIFY,
|
|
25
40
|
|
|
@@ -47,17 +62,5 @@ export class DeploymentGenerator extends Generator {
|
|
|
47
62
|
opcodes.OP_1,
|
|
48
63
|
opcodes.OP_ENDIF,
|
|
49
64
|
].flat();
|
|
50
|
-
|
|
51
|
-
const compiled = script.compile(asm);
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Verify that the script can be decompiled
|
|
55
|
-
*/
|
|
56
|
-
const decompiled = script.decompile(compiled);
|
|
57
|
-
if (!decompiled) {
|
|
58
|
-
throw new Error('Failed to decompile script??');
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return compiled;
|
|
62
65
|
}
|
|
63
66
|
}
|
package/src/keypair/Wallet.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ECPairInterface } from 'ecpair';
|
|
|
3
3
|
import { EcKeyPair } from './EcKeyPair.js';
|
|
4
4
|
import { Network, networks } from 'bitcoinjs-lib';
|
|
5
5
|
import { Address } from '@btc-vision/bsi-binary';
|
|
6
|
+
import { toXOnly } from 'bitcoinjs-lib/src/psbt/bip371.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Wallet class
|
|
@@ -72,4 +73,15 @@ export class Wallet {
|
|
|
72
73
|
|
|
73
74
|
return this.keypair.publicKey;
|
|
74
75
|
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Get the x-only public key for the wallet
|
|
79
|
+
* @public
|
|
80
|
+
* @returns {Buffer}
|
|
81
|
+
*/
|
|
82
|
+
public get xOnly(): Buffer {
|
|
83
|
+
if (!this.keypair) throw new Error('Keypair not set');
|
|
84
|
+
|
|
85
|
+
return toXOnly(this.keypair.publicKey);
|
|
86
|
+
}
|
|
75
87
|
}
|
package/src/opnet.ts
CHANGED
|
@@ -8,6 +8,10 @@ export * from './generators/Generator.js';
|
|
|
8
8
|
export * from './generators/builders/CalldataGenerator.js';
|
|
9
9
|
export * from './generators/builders/DeploymentGenerator.js';
|
|
10
10
|
|
|
11
|
+
/** Address */
|
|
12
|
+
export * from './generators/AddressGenerator.js';
|
|
13
|
+
export * from './verification/TapscriptVerificator.js';
|
|
14
|
+
|
|
11
15
|
/** Key Pair */
|
|
12
16
|
export * from './keypair/EcKeyPair.js';
|
|
13
17
|
export * from './keypair/Wallet.js';
|
package/src/tests/gen.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TapscriptVerificator } from '../verification/TapscriptVerificator.js';
|
|
2
|
+
import { networks } from 'bitcoinjs-lib';
|
|
3
|
+
import { Regtest } from './Regtest.js';
|
|
4
|
+
import { Wallet } from '../keypair/Wallet.js';
|
|
5
|
+
|
|
6
|
+
const wallet = new Wallet(Regtest.wallet, networks.regtest);
|
|
7
|
+
|
|
8
|
+
const params = {
|
|
9
|
+
bytecode: Buffer.from('deadbeef', 'hex'),
|
|
10
|
+
contractSaltPubKey: Buffer.from('deadbeef', 'hex'),
|
|
11
|
+
deployerPubKeyXOnly: wallet.xOnly,
|
|
12
|
+
originalSalt: Buffer.from('deadbeef', 'hex'),
|
|
13
|
+
network: networks.regtest,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const contractAddress = TapscriptVerificator.getContractAddress(params);
|
|
17
|
+
const virtualAddress: string = TapscriptVerificator.generateContractVirtualAddress(
|
|
18
|
+
params.deployerPubKeyXOnly,
|
|
19
|
+
params.bytecode,
|
|
20
|
+
params.originalSalt,
|
|
21
|
+
networks.regtest,
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
console.log('contract sewgit address', virtualAddress, '\ncontract p2tr address', contractAddress);
|
package/src/tests/test.ts
CHANGED
|
@@ -1,35 +1,18 @@
|
|
|
1
|
-
import { wBTC } from '../metadata/contracts/wBTC.js';
|
|
2
1
|
import { Wallet } from '../keypair/Wallet.js';
|
|
3
|
-
import {
|
|
2
|
+
import { Regtest } from './Regtest.js';
|
|
4
3
|
import { UTXOManager } from '../utxo/UTXOManager.js';
|
|
5
4
|
import { FetchUTXOParams, UTXO } from '../utxo/interfaces/IUTXO.js';
|
|
6
|
-
import {
|
|
5
|
+
import { IFundingTransactionParameters } from '../transaction/interfaces/ITransactionParameters.js';
|
|
7
6
|
import { networks } from 'bitcoinjs-lib';
|
|
8
|
-
import { TransactionFactory } from '../transaction/TransactionFactory.js';
|
|
9
7
|
import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
|
|
10
|
-
import {
|
|
8
|
+
import { FundingTransaction } from '../transaction/builders/FundingTransaction.js';
|
|
11
9
|
|
|
12
|
-
const network: networks.Network = networks.
|
|
10
|
+
const network: networks.Network = networks.regtest;
|
|
13
11
|
const rpc: BitcoinRPC = new BitcoinRPC();
|
|
14
|
-
const
|
|
15
|
-
const wallet: Wallet = new Wallet(Testnet.wallet, network);
|
|
12
|
+
const wallet: Wallet = new Wallet(Regtest.wallet, network);
|
|
16
13
|
|
|
17
|
-
const utxoManager: UTXOManager = new UTXOManager('
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
const abiCoder: ABICoder = new ABICoder();
|
|
21
|
-
const transferSelector = Number(`0x` + abiCoder.encodeSelector('transfer'));
|
|
22
|
-
|
|
23
|
-
function getTransferToCalldata(to: string, amount: bigint): Buffer {
|
|
24
|
-
const addCalldata: BinaryWriter = new BinaryWriter();
|
|
25
|
-
addCalldata.writeSelector(transferSelector);
|
|
26
|
-
addCalldata.writeAddress(to);
|
|
27
|
-
addCalldata.writeU256(amount);
|
|
28
|
-
|
|
29
|
-
return Buffer.from(addCalldata.getBuffer());
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const shouldMineBlock: boolean = false;
|
|
14
|
+
const utxoManager: UTXOManager = new UTXOManager('http://localhost:9001');
|
|
15
|
+
const shouldMineBlock: boolean = true;
|
|
33
16
|
|
|
34
17
|
async function mineBlock(): Promise<boolean> {
|
|
35
18
|
// lets mine 1 block.
|
|
@@ -39,12 +22,11 @@ async function mineBlock(): Promise<boolean> {
|
|
|
39
22
|
}
|
|
40
23
|
|
|
41
24
|
console.log(`Mined block`, ok);
|
|
42
|
-
|
|
43
25
|
return !!ok.length;
|
|
44
26
|
}
|
|
45
27
|
|
|
46
28
|
(async () => {
|
|
47
|
-
await rpc.init(
|
|
29
|
+
await rpc.init(Regtest.config);
|
|
48
30
|
|
|
49
31
|
const utxoSetting: FetchUTXOParams = {
|
|
50
32
|
address: wallet.p2wpkh,
|
|
@@ -53,48 +35,29 @@ async function mineBlock(): Promise<boolean> {
|
|
|
53
35
|
};
|
|
54
36
|
|
|
55
37
|
const utxos: UTXO[] = await utxoManager.fetchUTXO(utxoSetting);
|
|
56
|
-
console.log(`UTXOs:`, utxos);
|
|
57
|
-
|
|
58
38
|
if (!utxos) {
|
|
59
39
|
throw new Error('No UTXOs found');
|
|
60
40
|
}
|
|
61
41
|
|
|
62
|
-
const
|
|
63
|
-
'tb1pt3ncc5ktfzpry2uvnag06v3jkv4quvmdydf09q8fx6rkgd7f5s8q3aenuk',
|
|
64
|
-
5000000n,
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
const interactionParameters: IInteractionParameters = {
|
|
42
|
+
const interactionParameters: IFundingTransactionParameters = {
|
|
68
43
|
from: wallet.p2wpkh,
|
|
69
|
-
to:
|
|
44
|
+
to: 'bcrt1qqvf4gprr05z248ph6gvx54rpg08p8ngq3zh8uh',
|
|
70
45
|
utxos: utxos,
|
|
71
46
|
signer: wallet.keypair,
|
|
72
47
|
network: network,
|
|
73
48
|
feeRate: 150,
|
|
74
|
-
priorityFee:
|
|
75
|
-
|
|
49
|
+
priorityFee: 1000n,
|
|
50
|
+
childTransactionRequiredFees: 0n,
|
|
76
51
|
};
|
|
77
52
|
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
|
|
84
|
-
|
|
85
|
-
if (!firstTxBroadcast) {
|
|
86
|
-
throw new Error('Could not broadcast first transaction');
|
|
87
|
-
}
|
|
53
|
+
const fundingTransaction = new FundingTransaction(interactionParameters);
|
|
54
|
+
const fundingTx = fundingTransaction.signTransaction();
|
|
55
|
+
console.log(fundingTx.toHex());
|
|
88
56
|
|
|
89
57
|
const secondTxBroadcast = await rpc.sendRawTransaction({
|
|
90
|
-
hexstring:
|
|
58
|
+
hexstring: fundingTx.toHex(),
|
|
91
59
|
});
|
|
92
|
-
|
|
93
|
-
console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
|
|
94
|
-
|
|
95
|
-
if (!secondTxBroadcast) {
|
|
96
|
-
throw new Error('Could not broadcast second transaction');
|
|
97
|
-
}
|
|
60
|
+
console.log(`Transaction broadcasted: ${secondTxBroadcast}`);
|
|
98
61
|
|
|
99
62
|
if (shouldMineBlock) {
|
|
100
63
|
await mineBlock();
|