Skip to content

Commit

Permalink
chore: add networkId to WalletData
Browse files Browse the repository at this point in the history
  • Loading branch information
0xRAG committed Dec 17, 2024
1 parent 5dae1b3 commit 66cfff1
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 2 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
- Add getters for `Validator` object to expose more data to users.
- Add test file for `Validator` object.

- Add `networkId` to `WalletData` so that it is saved with the seed data and surfaced via the export function

### [0.11.3] - 2024-12-10

### Added
Expand Down
2 changes: 2 additions & 0 deletions src/coinbase/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -818,6 +818,7 @@ export enum FundOperationStatus {
export type WalletData = {
walletId: string;
seed: string;
networkId: string;
};

/**
Expand All @@ -828,6 +829,7 @@ export type SeedData = {
encrypted: boolean;
authTag: string;
iv: string;
networkId: string;
};

/**
Expand Down
3 changes: 2 additions & 1 deletion src/coinbase/wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ export class Wallet {
if (!this.seed) {
throw new Error("Cannot export Wallet without loaded seed");
}
return { walletId: this.getId()!, seed: this.seed };
return { walletId: this.getId()!, seed: this.seed, networkId: this.getNetworkId() };
}

/**
Expand Down Expand Up @@ -631,6 +631,7 @@ export class Wallet {
encrypted: encrypt,
authTag: authTag,
iv: iv,
networkId: data.networkId,
};

fs.writeFileSync(filePath, JSON.stringify(existingSeedsInStore, null, 2), "utf8");
Expand Down
7 changes: 6 additions & 1 deletion src/tests/e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ describe("Coinbase SDK E2E Test", () => {
const walletId = Object.keys(seedFile)[0];
const seed = seedFile[walletId].seed;

const importedWallet = await Wallet.import({ seed, walletId });
const importedWallet = await Wallet.import({
seed,
walletId,
networkId: Coinbase.networks.BaseSepolia,
});
expect(importedWallet).toBeDefined();
expect(importedWallet.getId()).toBe(walletId);
console.log(
Expand Down Expand Up @@ -138,6 +142,7 @@ describe("Coinbase SDK E2E Test", () => {
encrypted: false,
authTag: "",
iv: "",
networkId: exportedWallet.networkId,
});
}, 60000);
});
Expand Down
1 change: 1 addition & 0 deletions src/tests/wallet_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,7 @@ describe("Wallet Class", () => {
expect(walletSeedData[walletId].iv).toBe("");
expect(walletSeedData[walletId].authTag).toBe("");
expect(walletSeedData[walletId].seed).toBe(seed);
expect(walletSeedData[walletId].networkId).toBe(seedWallet.getNetworkId());
});

it("should save the seed when encryption is true", async () => {
Expand Down

0 comments on commit 66cfff1

Please sign in to comment.