validate group tangle

This commit is contained in:
Andre Staltz 2023-05-25 17:10:42 +03:00
parent e957a4a578
commit 393c0e4827
No known key found for this signature in database
GPG Key ID: 9EDE23EA7E8A4890
1 changed files with 37 additions and 1 deletions

View File

@ -1,5 +1,4 @@
const tape = require('tape')
const base58 = require('bs58')
const MsgV2 = require('../../lib/msg-v2')
const { generateKeypair } = require('../util')
@ -18,6 +17,43 @@ tape('validate root msg', (t) => {
t.end()
})
tape('validate group tangle', (t) => {
const pubkeys = new Set()
const keys1 = generateKeypair('alice')
pubkeys.add(keys1.id)
const groupMsg0 = MsgV2.createGroup(keys1, 'alice')
const group = MsgV2.getMsgHash(groupMsg0)
const groupMsg0Hash = group
const tangle = new MsgV2.Tangle(group)
let err = MsgV2.validate(groupMsg0, tangle, pubkeys, groupMsg0Hash, group)
if (err) console.log(err)
t.error(err, 'valid group root msg')
tangle.add(group, groupMsg0)
const keys2 = generateKeypair('bob')
const groupMsg1 = MsgV2.create({
group: null,
groupTips: null,
type: 'group',
data: { add: keys2.id },
tangles: {
[group]: tangle,
},
keys: keys1, // announcing keys2 but signing with keys1
})
const groupMsg1Hash = MsgV2.getMsgHash(groupMsg1)
err = MsgV2.validate(groupMsg1, tangle, pubkeys, groupMsg1Hash, group)
if (err) console.log(err)
t.error(err, 'valid group msg')
t.end()
})
tape('validate 2nd msg with existing root', (t) => {
const keys = generateKeypair('alice')
const group = MsgV2.getMsgHash(MsgV2.createGroup(keys, 'alice'))