Skip to content

Commit

Permalink
simplifies signing commitment test (#4622)
Browse files Browse the repository at this point in the history
  • Loading branch information
patnir authored Jan 27, 2024
1 parent 59664c2 commit c7b87c6
Showing 1 changed file with 6 additions and 56 deletions.
62 changes: 6 additions & 56 deletions ironfish/src/rpc/routes/multisig/createSigningCommitment.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
import { ParticipantSecret, TrustedDealerKeyPackages } from '@ironfish/rust-nodejs'
import { v4 as uuid } from 'uuid'
import { Assert } from '../../../assert'
import { createNodeTest } from '../../../testUtilities'
import { createRouteTest } from '../../../testUtilities/routeTest'

describe('Route multisig/createSigningCommitment', () => {
Expand All @@ -21,68 +18,21 @@ describe('Route multisig/createSigningCommitment', () => {
})

it('should create signing commitment', async () => {
const seed = 420
const nodeTest = createNodeTest()
const { node } = await nodeTest.createSetup()
const participants = Array.from({ length: 3 }, () => ({
identifier: ParticipantSecret.random().toIdentity().toFrostIdentifier(),
}))

const participants: { identifier: string }[] = []
for (let i = 0; i < 3; i++) {
const identifier = ParticipantSecret.random().toIdentity().toFrostIdentifier()
participants.push({
identifier: identifier,
})
}
const request = { minSigners: 2, maxSigners: 3, participants }
const response = await routeTest.client
.request('multisig/createTrustedDealerKeyPackage', request)
.waitForEnd()

const trustedDealerPackage = response.content as TrustedDealerKeyPackages

const getMultiSigKeys = (index: number) => {
return {
identifier: trustedDealerPackage.keyPackages[index].identifier,
keyPackage: trustedDealerPackage.keyPackages[index].keyPackage,
proofGenerationKey: trustedDealerPackage.proofGenerationKey,
}
}

const participantA = await node.wallet.importAccount({
version: 2,
id: uuid(),
name: trustedDealerPackage.keyPackages[0].identifier,
spendingKey: null,
createdAt: null,
multiSigKeys: getMultiSigKeys(0),
...trustedDealerPackage,
})
const participantB = await node.wallet.importAccount({
version: 2,
id: uuid(),
name: trustedDealerPackage.keyPackages[1].identifier,
spendingKey: null,
createdAt: null,
multiSigKeys: getMultiSigKeys(1),
...trustedDealerPackage,
})
const participantC = await node.wallet.importAccount({
version: 2,
id: uuid(),
name: trustedDealerPackage.keyPackages[2].identifier,
spendingKey: null,
createdAt: null,
multiSigKeys: getMultiSigKeys(2),
...trustedDealerPackage,
})

Assert.isNotUndefined(participantA.multiSigKeys)
Assert.isNotUndefined(participantB.multiSigKeys)
Assert.isNotUndefined(participantC.multiSigKeys)
const trustedDealerKeyPackage = response.content as TrustedDealerKeyPackages

const signingCommitment = await routeTest.client
.request('multisig/createSigningCommitment', {
keyPackage: participantA.multiSigKeys.keyPackage,
seed,
keyPackage: trustedDealerKeyPackage.keyPackages[0].keyPackage,
seed: 420,
})
.waitForEnd()

Expand Down

0 comments on commit c7b87c6

Please sign in to comment.