Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
cmd committed Mar 5, 2024
1 parent bdb3d90 commit 409b34a
Show file tree
Hide file tree
Showing 10 changed files with 145 additions and 32 deletions.
36 changes: 36 additions & 0 deletions demo/draft/alice/connect.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { DraftSession } from '@scrow/core'
import { signer } from './config.js'

import { address, secret_id } from '../terms.js'

/** ========== [ Draft Session ] ========== **/

// Create a draft session
const session = new DraftSession(signer, {
debug : false,
verbose : true
})

session.on('error', console.log)
session.on('reject', console.log)

// When the session is ready:
session.on('ready', () => {
console.log('session ready')
console.dir(session.data, { depth : null })
})

session.on('update', () => {
console.log('session update')
//console.dir(session.data, { depth : null })
})

session.on('join', (mship) => {
console.log('member joined:', mship.pub)
})

session.on('leave', (mship) => {
console.log('member left:', mship.pub)
})

await session.connect(address, secret_id)
6 changes: 2 additions & 4 deletions demo/draft/alice/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { DraftSession } from '@scrow/core'
import { signer } from './config.js'

import {
address,
agent_draft,
secret_id
} from '../terms.js'
Expand All @@ -22,7 +23,4 @@ session.on('ready', () => {
console.log('alice ready')
})

await session.init('wss://relay.damus.io', secret_id, agent_draft)

console.log('session id :', session.id)
console.log('session sec :', session.secret)
await session.init(address, secret_id, agent_draft)
20 changes: 3 additions & 17 deletions demo/draft/alice/join.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { DraftSession } from '@scrow/core'
import { signer } from './config.js'
import { secret_id } from '../terms.js'

import { address, secret_id } from '../terms.js'

const role = 'buyer'

Expand All @@ -18,27 +19,12 @@ session.on('ready', () => {
const pol = session.get_role(role)
session.join(pol.id)
}
} else if (session.is_member) {
console.log('member leaving session:', session.mship.pub)
session.leave()
}
})

session.on('update', () => {
console.log('session updated')
if (session.is_member) {
console.log('member leaving session:', session.mship.pub)
session.leave()
}
})

session.on('join', (mship) => {
console.log('member joined:', mship.pub)
})

session.on('leave', (mship) => {
console.log('member left:', mship.pub)
session.close()
})

await session.connect('wss://relay.damus.io', secret_id)
await session.connect(address, secret_id)
25 changes: 25 additions & 0 deletions demo/draft/alice/leave.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { DraftSession } from '@scrow/core'
import { signer } from './config.js'

import { address, secret_id } from '../terms.js'

const session = new DraftSession(signer, {
debug : false,
verbose : false
})

session.on('ready', () => {
console.log('session ready')
console.log('session:', session.data)
if (session.is_member) {
console.log('member leaving session:', session.mship.pub)
session.leave()
}
})

session.on('leave', (mship) => {
console.log('member left:', mship.pub)
session.close()
})

await session.connect(address, secret_id)
4 changes: 2 additions & 2 deletions demo/draft/alice/list.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { DraftSession } from '@scrow/core'
import { signer } from './config.js'
import { address } from '../terms.js'

console.log(signer.pubkey)

const addr = 'wss://relay.damus.io'
const drafts = await DraftSession.list(addr, signer)
const drafts = await DraftSession.list(address, signer)

console.dir(drafts, { depth : null })
35 changes: 35 additions & 0 deletions demo/draft/bob/join.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { DraftSession } from '@scrow/core'
import { signer } from './config.js'

import { address, secret_id } from '../terms.js'

const role = 'buyer'

const session = new DraftSession(signer, {
debug : false,
verbose : true
})

session.on('error', console.log)
session.on('reject', console.log)

session.on('ready', () => {
console.log('session ready')
console.log('session:', session.data)
if (!session.is_member) {
if (session.has_role(role)) {
console.log('joining session as:', role)
const pol = session.get_role(role)
session.join(pol.id)
}
} else {
console.log('you are already a member')
}
})

session.on('join', (mship) => {
console.log('member joined:', mship.pub)
// session.close()
})

await session.connect(address, secret_id)
28 changes: 28 additions & 0 deletions demo/draft/bob/leave.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { DraftSession } from '@scrow/core'
import { signer } from './config.js'

import { address, secret_id } from '../terms.js'

const session = new DraftSession(signer, {
debug : false,
verbose : true
})

session.on('error', console.log)
session.on('reject', console.log)

session.on('ready', () => {
console.log('session ready')
if (session.is_member) {
console.log('member leaving session:', session.mship.pub)
session.leave()
} else {
console.log('you are not a member')
}
})

session.on('leave', (mship) => {
console.log('member left:', mship.pub)
})

await session.connect(address, secret_id)
4 changes: 4 additions & 0 deletions demo/draft/terms.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {

const AGENT_ALIAS : string = 'carol'
const SECRET_PASS : string = 'test_draft4'
const RELAY_ADDR : string = 'wss://nos.lol'

const PROP_TEMPLATE : ProposalTemplate = {
title : 'Basic two-party contract with third-party arbitration.',
Expand Down Expand Up @@ -51,6 +52,9 @@ const PROP_ROLES : RoleTemplate[] = [
}
]

//
export const address = RELAY_ADDR
//
export const alias = AGENT_ALIAS
// Compute draft id for nostr store.
export const secret_id = Buff.str(SECRET_PASS).digest.hex
Expand Down
11 changes: 6 additions & 5 deletions src/client/class/draft.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,10 @@ export class DraftSession extends EventEmitter <{
this._full = false
this._init = false


this._room.on('close', () => { void this.emit('close', this) })
this._room.on('fetch', () => { void this.emit('fetch', this) })
this._room.on('close', () => { void this.emit('close', this) })
this._room.on('fetch', () => { void this.emit('fetch', this) })
this._room.on('error', (err) => { void this.emit('error', err) })
this._room.on('reject', (err) => { void this.emit('error', err) })

this._room.once('ready', () => {
this._init = true
Expand Down Expand Up @@ -402,7 +403,7 @@ export class DraftSession extends EventEmitter <{
async _update (data : DraftData, cat ?: number) {
validate_draft(data)
verify_draft(data)
this._room.update(data, [], cat)
this._room.update(data, cat)
if (this.is_full && !this._full) {
this.emit('full', this)
}
Expand Down Expand Up @@ -533,7 +534,7 @@ export class DraftSession extends EventEmitter <{
) {
validate_draft(session)
verify_draft(session)
return this._room.init(address, session, secret)
return this._room.init(address, secret, session)
}

join (policy_id : string, index ?: number) {
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@
"@cmdcode/buff" "^2.2.5"
"@cmdcode/crypto-tools" "^2.7.6"

"@cmdcode/nostr-sdk@^0.1.2":
version "0.1.2"
resolved "https://registry.yarnpkg.com/@cmdcode/nostr-sdk/-/nostr-sdk-0.1.2.tgz#b762d1663e0da279dc33ac3b7ee92457b187170f"
integrity sha512-/G8FYtpEAJiDHhxl1gKZpVmwyySEsok/bkud2z6Sb/CrZnBFK7uZ51CcJYiAOKLOKwtWrdJhlL0c4XGOXSPm7A==
"@cmdcode/nostr-sdk@^0.1.6":
version "0.1.6"
resolved "https://registry.yarnpkg.com/@cmdcode/nostr-sdk/-/nostr-sdk-0.1.6.tgz#328d09c763a9a26893dbc193c1444f451cb3efb0"
integrity sha512-6n+giRdT4zLJ1OD8f5B/WIHkdFOB7v4CsG/QDSIqSuZ/cjGblQMXzVihqTbPqZu+5DzUO0ZOfJy7SPpIt9/3SA==
dependencies:
"@cmdcode/buff" "2.2.5"
"@cmdcode/crypto-tools" "2.7.6"
Expand Down

0 comments on commit 409b34a

Please sign in to comment.