Skip to content

Commit

Permalink
fix: 🐛 return MultiSig from getAccount with no signers
Browse files Browse the repository at this point in the history
previously a MultiSig with no signers would be mistaken for a regular
account. This occurs when no account has accepted the authorization
  • Loading branch information
polymath-eric committed Aug 8, 2024
1 parent c85a3a8 commit a9f97cb
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
8 changes: 4 additions & 4 deletions src/api/client/__tests__/AccountManagement.ts
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ describe('AccountManagement class', () => {

it('should return an Account object with the passed address', async () => {
const params = { address: 'testAddress' };
dsMockUtils.createQueryMock('multiSig', 'multiSigSigners', {
returnValue: [],
dsMockUtils.createQueryMock('multiSig', 'multiSigToIdentity', {
returnValue: dsMockUtils.createMockIdentityId(),
});

const result = await accountManagement.getAccount(params);
Expand All @@ -218,8 +218,8 @@ describe('AccountManagement class', () => {

it('should return a MultiSig instance if the address is for a MultiSig', async () => {
const params = { address: 'testAddress' };
dsMockUtils.createQueryMock('multiSig', 'multiSigSigners', {
entries: [[['someSignerAddress'], 'someSignerAddress']],
dsMockUtils.createQueryMock('multiSig', 'multiSigToIdentity', {
returnValue: dsMockUtils.createMockIdentityId('someDid'),
});

const result = await accountManagement.getAccount(params);
Expand Down
4 changes: 2 additions & 2 deletions src/api/entities/Account/__tests__/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -466,8 +466,8 @@ describe('Account class', () => {

describe('method: isFrozen', () => {
beforeAll(() => {
dsMockUtils.createQueryMock('multiSig', 'multiSigSigners', {
returnValue: [],
dsMockUtils.createQueryMock('multiSig', 'multiSigToIdentity', {
returnValue: dsMockUtils.createMockIdentityId(),
});
});

Expand Down
8 changes: 4 additions & 4 deletions src/utils/internal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2103,10 +2103,10 @@ export async function getAccount(
const { address } = args;

const rawAddress = stringToAccountId(address, context);
const rawSigners = await multiSig.multiSigSigners.entries(rawAddress);
if (rawSigners.length > 0) {
return new MultiSig(args, context);
const identity = await multiSig.multiSigToIdentity(rawAddress);
if (identity.isEmpty) {
return new Account(args, context);
}

return new Account(args, context);
return new MultiSig(args, context);
}

0 comments on commit a9f97cb

Please sign in to comment.