diff --git a/typescript/api-reference/README.md b/typescript/api-reference/README.md index 15f8db8f4..6807b7abf 100644 --- a/typescript/api-reference/README.md +++ b/typescript/api-reference/README.md @@ -216,7 +216,7 @@ Represents an event emitted on deposit reveal to the on-chain bridge. #### Defined in -[src/lib/contracts/bridge.ts:293](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L293) +[src/lib/contracts/bridge.ts:307](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L307) ___ @@ -394,7 +394,7 @@ Represents an event emitted when new wallet is registered on the on-chain bridge #### Defined in -[src/lib/contracts/bridge.ts:457](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L457) +[src/lib/contracts/bridge.ts:471](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L471) ___ @@ -465,7 +465,7 @@ Represents an event emitted on redemption request. #### Defined in -[src/lib/contracts/bridge.ts:344](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L344) +[src/lib/contracts/bridge.ts:358](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L358) ___ @@ -1025,7 +1025,7 @@ Packed parameters. #### Defined in -[src/lib/ethereum/bridge.ts:699](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L699) +[src/lib/ethereum/bridge.ts:714](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L714) ___ @@ -1213,4 +1213,4 @@ This function does not validate the depositor's identifier as its #### Defined in -[src/lib/contracts/bridge.ts:233](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L233) +[src/lib/contracts/bridge.ts:247](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L247) diff --git a/typescript/api-reference/classes/EthereumBridge.md b/typescript/api-reference/classes/EthereumBridge.md index f414780e7..87f41e9c4 100644 --- a/typescript/api-reference/classes/EthereumBridge.md +++ b/typescript/api-reference/classes/EthereumBridge.md @@ -44,6 +44,7 @@ for reference. - [parseRedemptionRequest](EthereumBridge.md#parseredemptionrequest) - [parseWalletDetails](EthereumBridge.md#parsewalletdetails) - [pendingRedemptions](EthereumBridge.md#pendingredemptions) +- [pendingRedemptionsByWalletPKH](EthereumBridge.md#pendingredemptionsbywalletpkh) - [requestRedemption](EthereumBridge.md#requestredemption) - [revealDeposit](EthereumBridge.md#revealdeposit) - [submitDepositSweepProof](EthereumBridge.md#submitdepositsweepproof) @@ -148,7 +149,7 @@ EthersContractHandle.\_totalRetryAttempts #### Defined in -[src/lib/ethereum/bridge.ts:494](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L494) +[src/lib/ethereum/bridge.ts:509](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L509) ___ @@ -177,7 +178,7 @@ Builds the UTXO hash based on the UTXO components. UTXO hash is computed as #### Defined in -[src/lib/ethereum/bridge.ts:629](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L629) +[src/lib/ethereum/bridge.ts:644](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L644) ___ @@ -204,7 +205,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:429](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L429) +[src/lib/ethereum/bridge.ts:444](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L444) ___ @@ -334,7 +335,7 @@ Bridge.getNewWalletRegisteredEvents #### Defined in -[src/lib/ethereum/bridge.ts:541](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L541) +[src/lib/ethereum/bridge.ts:556](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L556) ___ @@ -361,7 +362,7 @@ Bridge.getRedemptionRequestedEvents #### Defined in -[src/lib/ethereum/bridge.ts:646](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L646) +[src/lib/ethereum/bridge.ts:661](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L661) ___ @@ -381,7 +382,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:515](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L515) +[src/lib/ethereum/bridge.ts:530](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L530) ___ @@ -405,7 +406,7 @@ Parsed deposit request. #### Defined in -[src/lib/ethereum/bridge.ts:474](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L474) +[src/lib/ethereum/bridge.ts:489](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L489) ___ @@ -430,7 +431,7 @@ Parsed redemption request. #### Defined in -[src/lib/ethereum/bridge.ts:213](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L213) +[src/lib/ethereum/bridge.ts:228](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L228) ___ @@ -454,7 +455,7 @@ Parsed wallet data. #### Defined in -[src/lib/ethereum/bridge.ts:600](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L600) +[src/lib/ethereum/bridge.ts:615](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L615) ___ @@ -485,6 +486,33 @@ ___ ___ +### pendingRedemptionsByWalletPKH + +▸ **pendingRedemptionsByWalletPKH**(`walletPublicKeyHash`, `redeemerOutputScript`): `Promise`\<[`RedemptionRequest`](../interfaces/RedemptionRequest.md)\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `walletPublicKeyHash` | [`Hex`](Hex.md) | +| `redeemerOutputScript` | [`Hex`](Hex.md) | + +#### Returns + +`Promise`\<[`RedemptionRequest`](../interfaces/RedemptionRequest.md)\> + +**`See`** + +#### Implementation of + +[Bridge](../interfaces/Bridge.md).[pendingRedemptionsByWalletPKH](../interfaces/Bridge.md#pendingredemptionsbywalletpkh) + +#### Defined in + +[src/lib/ethereum/bridge.ts:147](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L147) + +___ + ### requestRedemption ▸ **requestRedemption**(`walletPublicKey`, `mainUtxo`, `redeemerOutputScript`, `amount`): `Promise`\<[`Hex`](Hex.md)\> @@ -510,7 +538,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:334](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L334) +[src/lib/ethereum/bridge.ts:349](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L349) ___ @@ -539,7 +567,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:231](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L231) +[src/lib/ethereum/bridge.ts:246](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L246) ___ @@ -568,7 +596,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:268](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L268) +[src/lib/ethereum/bridge.ts:283](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L283) ___ @@ -597,7 +625,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:378](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L378) +[src/lib/ethereum/bridge.ts:393](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L393) ___ @@ -624,7 +652,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:155](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L155) +[src/lib/ethereum/bridge.ts:170](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L170) ___ @@ -644,7 +672,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:320](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L320) +[src/lib/ethereum/bridge.ts:335](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L335) ___ @@ -664,7 +692,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:566](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L566) +[src/lib/ethereum/bridge.ts:581](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L581) ___ @@ -690,7 +718,7 @@ ___ #### Defined in -[src/lib/ethereum/bridge.ts:583](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L583) +[src/lib/ethereum/bridge.ts:598](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L598) ___ @@ -715,7 +743,7 @@ Deposit key. #### Defined in -[src/lib/ethereum/bridge.ts:455](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L455) +[src/lib/ethereum/bridge.ts:470](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L470) ___ @@ -740,4 +768,4 @@ The redemption key. #### Defined in -[src/lib/ethereum/bridge.ts:183](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L183) +[src/lib/ethereum/bridge.ts:198](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/ethereum/bridge.ts#L198) diff --git a/typescript/api-reference/enums/WalletState-1.md b/typescript/api-reference/enums/WalletState-1.md index 011449fca..652a7f15d 100644 --- a/typescript/api-reference/enums/WalletState-1.md +++ b/typescript/api-reference/enums/WalletState-1.md @@ -22,7 +22,7 @@ any action in the Bridge. #### Defined in -[src/lib/contracts/bridge.ts:381](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L381) +[src/lib/contracts/bridge.ts:395](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L395) ___ @@ -36,7 +36,7 @@ and must defend against them. #### Defined in -[src/lib/contracts/bridge.ts:376](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L376) +[src/lib/contracts/bridge.ts:390](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L390) ___ @@ -48,7 +48,7 @@ The wallet can sweep deposits and accept redemption requests. #### Defined in -[src/lib/contracts/bridge.ts:363](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L363) +[src/lib/contracts/bridge.ts:377](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L377) ___ @@ -63,7 +63,7 @@ accepted. #### Defined in -[src/lib/contracts/bridge.ts:370](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L370) +[src/lib/contracts/bridge.ts:384](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L384) ___ @@ -78,7 +78,7 @@ any actions in the Bridge. #### Defined in -[src/lib/contracts/bridge.ts:388](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L388) +[src/lib/contracts/bridge.ts:402](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L402) ___ @@ -90,4 +90,4 @@ The wallet is unknown to the Bridge. #### Defined in -[src/lib/contracts/bridge.ts:359](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L359) +[src/lib/contracts/bridge.ts:373](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L373) diff --git a/typescript/api-reference/interfaces/Bridge.md b/typescript/api-reference/interfaces/Bridge.md index d97ba6b0e..624d2661e 100644 --- a/typescript/api-reference/interfaces/Bridge.md +++ b/typescript/api-reference/interfaces/Bridge.md @@ -21,6 +21,7 @@ Interface for communication with the Bridge on-chain contract. - [deposits](Bridge.md#deposits) - [getChainIdentifier](Bridge.md#getchainidentifier) - [pendingRedemptions](Bridge.md#pendingredemptions) +- [pendingRedemptionsByWalletPKH](Bridge.md#pendingredemptionsbywalletpkh) - [requestRedemption](Bridge.md#requestredemption) - [revealDeposit](Bridge.md#revealdeposit) - [submitDepositSweepProof](Bridge.md#submitdepositsweepproof) @@ -60,7 +61,7 @@ GetEventsFunction #### Defined in -[src/lib/contracts/bridge.ts:155](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L155) +[src/lib/contracts/bridge.ts:169](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L169) ___ @@ -76,7 +77,7 @@ GetEventsFunction #### Defined in -[src/lib/contracts/bridge.ts:181](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L181) +[src/lib/contracts/bridge.ts:195](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L195) ## Methods @@ -96,7 +97,7 @@ Compressed (33 bytes long with 02 or 03 prefix) active wallet's #### Defined in -[src/lib/contracts/bridge.ts:149](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L149) +[src/lib/contracts/bridge.ts:163](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L163) ___ @@ -120,7 +121,7 @@ The hash of the UTXO. #### Defined in -[src/lib/contracts/bridge.ts:175](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L175) +[src/lib/contracts/bridge.ts:189](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L189) ___ @@ -190,6 +191,32 @@ Promise with the pending redemption. ___ +### pendingRedemptionsByWalletPKH + +▸ **pendingRedemptionsByWalletPKH**(`walletPublicKeyHash`, `redeemerOutputScript`): `Promise`\<[`RedemptionRequest`](RedemptionRequest.md)\> + +Gets a pending redemption from the on-chain contract using the wallet's +public key hash instead of the plain-text public key. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `walletPublicKeyHash` | [`Hex`](../classes/Hex.md) | Bitcoin public key hash of the wallet the request is targeted to. Must be 20 bytes long. | +| `redeemerOutputScript` | [`Hex`](../classes/Hex.md) | The redeemer output script the redeemed funds are supposed to be locked on. Must not be prepended with length. | + +#### Returns + +`Promise`\<[`RedemptionRequest`](RedemptionRequest.md)\> + +Promise with the pending redemption. + +#### Defined in + +[src/lib/contracts/bridge.ts:138](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L138) + +___ + ### requestRedemption ▸ **requestRedemption**(`walletPublicKey`, `mainUtxo`, `redeemerOutputScript`, `amount`): `Promise`\<[`Hex`](../classes/Hex.md)\> @@ -319,7 +346,7 @@ Promise with the pending redemption. #### Defined in -[src/lib/contracts/bridge.ts:138](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L138) +[src/lib/contracts/bridge.ts:152](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L152) ___ @@ -358,7 +385,7 @@ Returns the attached WalletRegistry instance. #### Defined in -[src/lib/contracts/bridge.ts:160](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L160) +[src/lib/contracts/bridge.ts:174](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L174) ___ @@ -382,4 +409,4 @@ Promise with the wallet details. #### Defined in -[src/lib/contracts/bridge.ts:168](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L168) +[src/lib/contracts/bridge.ts:182](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L182) diff --git a/typescript/api-reference/interfaces/DepositReceipt.md b/typescript/api-reference/interfaces/DepositReceipt.md index d74a7e8b0..7ee861fbb 100644 --- a/typescript/api-reference/interfaces/DepositReceipt.md +++ b/typescript/api-reference/interfaces/DepositReceipt.md @@ -25,7 +25,7 @@ public key and refund public key. #### Defined in -[src/lib/contracts/bridge.ts:198](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L198) +[src/lib/contracts/bridge.ts:212](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L212) ___ @@ -37,7 +37,7 @@ Depositor's chain identifier. #### Defined in -[src/lib/contracts/bridge.ts:192](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L192) +[src/lib/contracts/bridge.ts:206](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L206) ___ @@ -49,7 +49,7 @@ Optional 32-byte extra data. #### Defined in -[src/lib/contracts/bridge.ts:223](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L223) +[src/lib/contracts/bridge.ts:237](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L237) ___ @@ -61,7 +61,7 @@ A 4-byte little-endian refund locktime. #### Defined in -[src/lib/contracts/bridge.ts:218](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L218) +[src/lib/contracts/bridge.ts:232](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L232) ___ @@ -76,7 +76,7 @@ You can use `computeHash160` function to get the hash from a public key. #### Defined in -[src/lib/contracts/bridge.ts:213](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L213) +[src/lib/contracts/bridge.ts:227](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L227) ___ @@ -90,4 +90,4 @@ You can use `computeHash160` function to get the hash from a public key. #### Defined in -[src/lib/contracts/bridge.ts:205](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L205) +[src/lib/contracts/bridge.ts:219](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L219) diff --git a/typescript/api-reference/interfaces/DepositRequest.md b/typescript/api-reference/interfaces/DepositRequest.md index a204ba5b2..8e8141d6a 100644 --- a/typescript/api-reference/interfaces/DepositRequest.md +++ b/typescript/api-reference/interfaces/DepositRequest.md @@ -23,7 +23,7 @@ Deposit amount in satoshis. #### Defined in -[src/lib/contracts/bridge.ts:267](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L267) +[src/lib/contracts/bridge.ts:281](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L281) ___ @@ -35,7 +35,7 @@ Depositor's chain identifier. #### Defined in -[src/lib/contracts/bridge.ts:262](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L262) +[src/lib/contracts/bridge.ts:276](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L276) ___ @@ -47,7 +47,7 @@ UNIX timestamp the deposit was revealed at. #### Defined in -[src/lib/contracts/bridge.ts:277](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L277) +[src/lib/contracts/bridge.ts:291](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L291) ___ @@ -60,7 +60,7 @@ should have zero as value. #### Defined in -[src/lib/contracts/bridge.ts:282](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L282) +[src/lib/contracts/bridge.ts:296](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L296) ___ @@ -73,7 +73,7 @@ Denominated in satoshi. #### Defined in -[src/lib/contracts/bridge.ts:287](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L287) +[src/lib/contracts/bridge.ts:301](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L301) ___ @@ -85,4 +85,4 @@ Optional identifier of the vault the deposit should be routed in. #### Defined in -[src/lib/contracts/bridge.ts:272](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L272) +[src/lib/contracts/bridge.ts:286](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L286) diff --git a/typescript/api-reference/interfaces/RedemptionRequest.md b/typescript/api-reference/interfaces/RedemptionRequest.md index b1ce2635e..9903ea5dd 100644 --- a/typescript/api-reference/interfaces/RedemptionRequest.md +++ b/typescript/api-reference/interfaces/RedemptionRequest.md @@ -23,7 +23,7 @@ On-chain identifier of the redeemer. #### Defined in -[src/lib/contracts/bridge.ts:306](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L306) +[src/lib/contracts/bridge.ts:320](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L320) ___ @@ -36,7 +36,7 @@ prepended with length. #### Defined in -[src/lib/contracts/bridge.ts:312](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L312) +[src/lib/contracts/bridge.ts:326](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L326) ___ @@ -50,7 +50,7 @@ by the sum of the fee share and the treasury fee for this particular output. #### Defined in -[src/lib/contracts/bridge.ts:319](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L319) +[src/lib/contracts/bridge.ts:333](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L333) ___ @@ -62,7 +62,7 @@ UNIX timestamp the request was created at. #### Defined in -[src/lib/contracts/bridge.ts:338](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L338) +[src/lib/contracts/bridge.ts:352](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L352) ___ @@ -77,7 +77,7 @@ on-chain contract at the time the redemption request was made. #### Defined in -[src/lib/contracts/bridge.ts:327](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L327) +[src/lib/contracts/bridge.ts:341](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L341) ___ @@ -90,4 +90,4 @@ redemption's `requestedAmount` to pay the transaction network fee. #### Defined in -[src/lib/contracts/bridge.ts:333](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L333) +[src/lib/contracts/bridge.ts:347](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L347) diff --git a/typescript/api-reference/interfaces/Wallet.md b/typescript/api-reference/interfaces/Wallet.md index 5da8afb11..415534d64 100644 --- a/typescript/api-reference/interfaces/Wallet.md +++ b/typescript/api-reference/interfaces/Wallet.md @@ -27,7 +27,7 @@ UNIX timestamp indicating the moment the wallet's closing period started. #### Defined in -[src/lib/contracts/bridge.ts:439](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L439) +[src/lib/contracts/bridge.ts:453](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L453) ___ @@ -39,7 +39,7 @@ UNIX timestamp the wallet was created at. #### Defined in -[src/lib/contracts/bridge.ts:430](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L430) +[src/lib/contracts/bridge.ts:444](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L444) ___ @@ -51,7 +51,7 @@ Identifier of a ECDSA Wallet registered in the ECDSA Wallet Registry. #### Defined in -[src/lib/contracts/bridge.ts:412](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L412) +[src/lib/contracts/bridge.ts:426](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L426) ___ @@ -63,7 +63,7 @@ Latest wallet's main UTXO hash. #### Defined in -[src/lib/contracts/bridge.ts:422](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L422) +[src/lib/contracts/bridge.ts:436](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L436) ___ @@ -76,7 +76,7 @@ funds. #### Defined in -[src/lib/contracts/bridge.ts:435](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L435) +[src/lib/contracts/bridge.ts:449](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L449) ___ @@ -88,7 +88,7 @@ Moving funds target wallet commitment submitted by the wallet. #### Defined in -[src/lib/contracts/bridge.ts:451](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L451) +[src/lib/contracts/bridge.ts:465](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L465) ___ @@ -100,7 +100,7 @@ Total count of pending moved funds sweep requests targeting this wallet. #### Defined in -[src/lib/contracts/bridge.ts:443](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L443) +[src/lib/contracts/bridge.ts:457](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L457) ___ @@ -112,7 +112,7 @@ The total redeemable value of pending redemption requests targeting that wallet. #### Defined in -[src/lib/contracts/bridge.ts:426](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L426) +[src/lib/contracts/bridge.ts:440](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L440) ___ @@ -124,7 +124,7 @@ Current state of the wallet. #### Defined in -[src/lib/contracts/bridge.ts:447](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L447) +[src/lib/contracts/bridge.ts:461](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L461) ___ @@ -138,4 +138,4 @@ WalletRegistry. #### Defined in -[src/lib/contracts/bridge.ts:418](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L418) +[src/lib/contracts/bridge.ts:432](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L432) diff --git a/typescript/api-reference/modules/WalletState.md b/typescript/api-reference/modules/WalletState.md index 79879efef..043e0300c 100644 --- a/typescript/api-reference/modules/WalletState.md +++ b/typescript/api-reference/modules/WalletState.md @@ -24,4 +24,4 @@ #### Defined in -[src/lib/contracts/bridge.ts:394](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L394) +[src/lib/contracts/bridge.ts:408](https://github.com/keep-network/tbtc-v2/blob/main/typescript/src/lib/contracts/bridge.ts#L408) diff --git a/typescript/src/lib/contracts/bridge.ts b/typescript/src/lib/contracts/bridge.ts index 08c17b421..aa329830b 100644 --- a/typescript/src/lib/contracts/bridge.ts +++ b/typescript/src/lib/contracts/bridge.ts @@ -126,6 +126,20 @@ export interface Bridge { redeemerOutputScript: Hex ): Promise + /** + * Gets a pending redemption from the on-chain contract using the wallet's + * public key hash instead of the plain-text public key. + * @param walletPublicKeyHash Bitcoin public key hash of the wallet the + * request is targeted to. Must be 20 bytes long. + * @param redeemerOutputScript The redeemer output script the redeemed funds + * are supposed to be locked on. Must not be prepended with length. + * @returns Promise with the pending redemption. + */ + pendingRedemptionsByWalletPKH( + walletPublicKeyHash: Hex, + redeemerOutputScript: Hex + ): Promise + /** * Gets a timed-out redemption from the on-chain contract. * @param walletPublicKey Bitcoin public key of the wallet the request is diff --git a/typescript/src/lib/ethereum/bridge.ts b/typescript/src/lib/ethereum/bridge.ts index 1cccb5cf7..c5222f229 100644 --- a/typescript/src/lib/ethereum/bridge.ts +++ b/typescript/src/lib/ethereum/bridge.ts @@ -132,9 +132,24 @@ export class EthereumBridge async pendingRedemptions( walletPublicKey: Hex, redeemerOutputScript: Hex + ): Promise { + const walletPublicKeyHash = BitcoinHashUtils.computeHash160(walletPublicKey) + return this.pendingRedemptionsByWalletPKH( + walletPublicKeyHash, + redeemerOutputScript + ) + } + + // eslint-disable-next-line valid-jsdoc + /** + * @see {Bridge#pendingRedemptionsByWalletPKH} + */ + async pendingRedemptionsByWalletPKH( + walletPublicKeyHash: Hex, + redeemerOutputScript: Hex ): Promise { const redemptionKey = EthereumBridge.buildRedemptionKey( - BitcoinHashUtils.computeHash160(walletPublicKey), + walletPublicKeyHash, redeemerOutputScript ) diff --git a/typescript/test/utils/mock-bridge.ts b/typescript/test/utils/mock-bridge.ts index a1340a892..fc78b1452 100644 --- a/typescript/test/utils/mock-bridge.ts +++ b/typescript/test/utils/mock-bridge.ts @@ -278,11 +278,21 @@ export class MockBridge implements Bridge { pendingRedemptions( walletPublicKey: Hex, redeemerOutputScript: Hex + ): Promise { + return this.pendingRedemptionsByWalletPKH( + BitcoinHashUtils.computeHash160(walletPublicKey), + redeemerOutputScript + ) + } + + pendingRedemptionsByWalletPKH( + walletPublicKeyHash: Hex, + redeemerOutputScript: Hex ): Promise { return new Promise((resolve, _) => { resolve( this.redemptions( - walletPublicKey, + walletPublicKeyHash, redeemerOutputScript, this._pendingRedemptions ) @@ -297,7 +307,7 @@ export class MockBridge implements Bridge { return new Promise((resolve, _) => { resolve( this.redemptions( - walletPublicKey, + BitcoinHashUtils.computeHash160(walletPublicKey), redeemerOutputScript, this._timedOutRedemptions ) @@ -306,12 +316,12 @@ export class MockBridge implements Bridge { } private redemptions( - walletPublicKey: Hex, + walletPublicKeyHash: Hex, redeemerOutputScript: Hex, redemptionsMap: Map ): RedemptionRequest { const redemptionKey = MockBridge.buildRedemptionKey( - BitcoinHashUtils.computeHash160(walletPublicKey), + walletPublicKeyHash, redeemerOutputScript )