Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion packages/coin-bitcoin/src/wallet/DogeWallet.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as bitcoin from "../index";
import {SignMsgError, SignTxError, SignTxParams, TypedMessage, VerifyMessageParams} from "@okxweb3/coin-base";
import {GetDerivedPathParam, SignMsgError, SignTxError, SignTxParams, TypedMessage, VerifyMessageParams} from "@okxweb3/coin-base";
import {BtcWallet} from "./BtcWallet";

export const dogeCoin: bitcoin.Network = {
Expand All @@ -20,6 +20,11 @@ export class DogeWallet extends BtcWallet {
return dogeCoin
}


async getDerivedPath(param: GetDerivedPathParam): Promise<any> {
return `m/44'/3'/0'/0/${param.index}`;
}

async signTransaction(param: SignTxParams): Promise<any> {
const type = param.data.type || 0;
if (type === 1) { // inscribe
Expand Down
16 changes: 15 additions & 1 deletion packages/coin-bitcoin/tests/doginals.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,23 @@ describe("doginals test", () => {
console.log(result);
expect(JSON.stringify(result)).toEqual('{"commitTx":"0200000001ae4f7cba89c288acc0556baae32f21119fbcbd5cd7b335ed2fc936a5d2edc5ad020000006b483045022100c8fe8bc7b134c6d50f1007772f10c6b76927bfb99dc17411027419de66bc397c02207a4a8c6304c2ed26b050c037e87564b2e58ed26dd32b7742bd534a59e67493ba01210257a64f1536472326d5fe61b21df965659847e14d2e885fd156761087489f0088fdffffff03a08601000000000017a914acc066d108257a26b8f43ff202efac8f9db0d69e8720897603000000001976a91476094cb45e019a8942a4861c02f4fd766bb662e588acd0363c0d000000001976a91476094cb45e019a8942a4861c02f4fd766bb662e588ac00000000","revealTxs":["0200000002f8794002b628a2235a7d448d85aef6366fc9eb23a11bb5ddc37b7d811c5b7c3000000000c6036f72645117746578742f706c61696e3b636861727365743d7574663800347b2270223a226472632d3230222c226f70223a226d696e74222c227469636b223a227472696c222c22616d74223a22313030227d483045022100f25b0eeef35b7690ae6c7d765855cb849318a24d33aaa1e9af2ae09e07d6b76202204930701502fa535416ecf9c9ba43a07499ef0ded19dcc74996455e360ded6db30129210257a64f1536472326d5fe61b21df965659847e14d2e885fd156761087489f0088ad757575757551fdfffffff8794002b628a2235a7d448d85aef6366fc9eb23a11bb5ddc37b7d811c5b7c30010000006a47304402203248dec6e7ed6258665903647ec8b1ed3380841548db76182f2762c1451bccb00220144bdd3556fe5ac698ffd0eb9def42266ec49e9d80b0695a383cff344c290df701210257a64f1536472326d5fe61b21df965659847e14d2e885fd156761087489f0088fdffffff01a0860100000000001976a91476094cb45e019a8942a4861c02f4fd766bb662e588ac00000000"],"commitTxFee":37000000,"revealTxFees":[58000000],"commitAddrs":["A8BhNgdB1244Sgdfu7v1rFDUSUHHKc8BoQ"]}')
});

})


test("doge getNewAccount from mnemonic", async () => {
const wallet = new DogeWallet();
const mnemonic = "firm reflect fade very snap bind vintage luggage peace extra boost believe";
const expectedAddress = "DQPeDPgHZxSdChxCPsxCCrwKW8bbaWe8tA";

// Get the derived path for index 0 (first account)
const hdPath = await wallet.getDerivedPath({ index: 0 });
// Derive private key from mnemonic and path
const privateKey = await wallet.getDerivedPrivateKey({ mnemonic, hdPath });
// Get new address from private key
const addressData = await wallet.getNewAddress({ privateKey });
expect(addressData.address).toBe(expectedAddress);
});

test("doge psbt transfer", () => {
const txInputs: utxoInput[] = [];
txInputs.push({
Expand Down