4 bitcoins wronly bridged
Budget: €250 – €750 EUR
Hi guys, I tried to bridge 4 bitcoins 5 months ago. In this procedure I should have claimed the 4 bitcoins after bridging. Fortunately, I had a power outage at that exact moment, so I was not able to claim the bitcoins on the BTC.
Can someone please help me how to get my 4 bitcoins back? Here is some information for you guys.
There I have 4 BTC put in the Vault to bridge via the following address and TxHash:
https://blockchair.com/bitcoin/transaction/955954a53c8ddbcb02b59f28cc9dbf3834733a0030270aca4ddbf54c8eb199e5?from=trustwallet
Bitcoin / Transaction / 955954a53c8ddbcb02b59f28cc9dbf3834733a0030270aca4ddbf54c8eb199e5
Check Bitcoin (BTC) transaction, value: 4.09994750 BTC, date: 2022-02-16
I was using the Badger Bridge Any RenVM
Address:
bc1qc5t9hhaa4hk59t8vh2m28na285e6nxtukz4z4x
What is the error: BTC address not confirmed, claimed - meaning the BTC should be traceable via smart contract.
I still have all needed private keys to however claim the Bitcoins.
Who ever is able to help me solving the problem will get the reward.
This is one of the answers from the Discord Support fro Badger.Bridge
Someone could take a look at the bridge code and see how the nonce was generated to see if it is potentially brute forceable
In the event of that, the funds could be released to the your destination address
nonce: JSON.stringify(RenJS.utils.randomNonce()),
This is how the nonce was generated at time of the loss of the nonce
/**
* Returns a random 32 byte Buffer.
*/
export const randomNonce = (): Buffer => randomBytes(32);
export const randomBytes = (bytes: number): Buffer => {
try {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
if (window) {
const uints = new Uint32Array(bytes / 4); // 4 bytes (32 bits)
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
window.crypto.getRandomValues(uints);
let str = "";
for (const uint of uints) {
str +=
"0".repeat(8 - uint.toString(16).length) +
String(uint.toString(16));
}
return fromHex(str);
}
} catch (error) {
// Ignore error
}
// eslint-disable-next-line @typescript-eslint/no-var-requires
const crypto = require("crypto") as {
randomBytes: (length: number) => Buffer;
};
return crypto.randomBytes(bytes);
};
The milestone will only be paid if you solve the problem!
Can someone please help me how to get my 4 bitcoins back? Here is some information for you guys.
There I have 4 BTC put in the Vault to bridge via the following address and TxHash:
https://blockchair.com/bitcoin/transaction/955954a53c8ddbcb02b59f28cc9dbf3834733a0030270aca4ddbf54c8eb199e5?from=trustwallet
Bitcoin / Transaction / 955954a53c8ddbcb02b59f28cc9dbf3834733a0030270aca4ddbf54c8eb199e5
Check Bitcoin (BTC) transaction, value: 4.09994750 BTC, date: 2022-02-16
I was using the Badger Bridge Any RenVM
Address:
bc1qc5t9hhaa4hk59t8vh2m28na285e6nxtukz4z4x
What is the error: BTC address not confirmed, claimed - meaning the BTC should be traceable via smart contract.
I still have all needed private keys to however claim the Bitcoins.
Who ever is able to help me solving the problem will get the reward.
This is one of the answers from the Discord Support fro Badger.Bridge
Someone could take a look at the bridge code and see how the nonce was generated to see if it is potentially brute forceable
In the event of that, the funds could be released to the your destination address
nonce: JSON.stringify(RenJS.utils.randomNonce()),
This is how the nonce was generated at time of the loss of the nonce
/**
* Returns a random 32 byte Buffer.
*/
export const randomNonce = (): Buffer => randomBytes(32);
export const randomBytes = (bytes: number): Buffer => {
try {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
if (window) {
const uints = new Uint32Array(bytes / 4); // 4 bytes (32 bits)
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
window.crypto.getRandomValues(uints);
let str = "";
for (const uint of uints) {
str +=
"0".repeat(8 - uint.toString(16).length) +
String(uint.toString(16));
}
return fromHex(str);
}
} catch (error) {
// Ignore error
}
// eslint-disable-next-line @typescript-eslint/no-var-requires
const crypto = require("crypto") as {
randomBytes: (length: number) => Buffer;
};
return crypto.randomBytes(bytes);
};
The milestone will only be paid if you solve the problem!