usawa

Unnamed repository; edit this file 'description' to name the repository.
Info | Log | Files | Refs | Submodules | LICENSE

commit 1bb1b0af3f103de0604f893aa1e501f806f5af86
parent 986c41b48325c35d09f406e4f66ffb362711beb1
Author: lash <dev@holbrook.no>
Date:   Thu, 15 Jan 2026 14:16:23 +0000

Add real ledger sig to ledger XML

Diffstat:
Mdummy/usawa/ledger.py | 15+++++++++------
Mdummy/usawa/runnable/create.py | 3++-
2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/dummy/usawa/ledger.py b/dummy/usawa/ledger.py @@ -7,7 +7,7 @@ import hashlib import lxml import rencode -from .crypto import DemoWallet +from .crypto import DemoWallet, ACL from .xml import nsmap, XML_FORMAT_VERSION from .constant import NSPREFIX, DEFAULTPARENT from .entry import Entry @@ -193,6 +193,7 @@ class Ledger: self.topic = topic self.acl = acl self.dt = None + self.wallet = wallet if self.topic == None: self.topic = os.urandom(64) if base == None: @@ -204,7 +205,6 @@ class Ledger: self.reset() self.serial = self.base_serial self.cur = base - self.wallet = wallet logg.debug('ledger base {} serial {} from topic {}'.format(self.base.hex(), self.serial, self.topic.hex())) @@ -215,6 +215,8 @@ class Ledger: """ def set_wallet(self, v): self.wallet = v + if self.acl == None: + self.acl = ACL.from_wallet(self.wallet) self.apply_wallet() @@ -223,7 +225,8 @@ class Ledger: v = self.wallet.pubkey() o = lxml.etree.Element(NSPREFIX + 'identity', nsmap=nsmap()) o.set('keyid', v.hex()) - o.set('didtype', self.wallet.did()) + did = self.wallet.did() + o.set('didtype', did.method()) incoming.addprevious(o) @@ -369,12 +372,12 @@ class Ledger: o.attrib['algo'] = 'sha512' o.text = self.base.hex() - if wallet != None: - logg.warning("the incoming state signature is not yet implemented and is currently just a zero-value string.") + if self.wallet != None: + r = self.sign() o = lxml.etree.SubElement(incoming, NSPREFIX + 'sig', nsmap=nsmap()) o.set('keyid', self.wallet.address().hex()) o.set('type', 'ed25519') - o.text = '00' * 64 + o.text = r.hex() self.tree = tree #incoming.append(o) diff --git a/dummy/usawa/runnable/create.py b/dummy/usawa/runnable/create.py @@ -150,6 +150,7 @@ if wallet == None: logg.info('loaded existing key. {}'.format(wallet.pubkey().hex())) acl = ACL.from_wallet(wallet) -ledger.reset(topic=ctx.topic, src=ctx.uri, acl=acl) +ledger.reset(topic=ctx.topic, src=ctx.uri, acl=acl, wallet=wallet) +ledger.sign() ctx.f.write(ledger.to_string()) ctx.close()