mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-21 02:54:20 +01:00
load keys of output, not of inputs (#169)
This commit is contained in:
@@ -119,8 +119,7 @@ async def redeem_TokenV2_multimint(ctx: Context, token: TokenV2, script, signatu
|
|||||||
mint.url, os.path.join(settings.cashu_dir, ctx.obj["WALLET_NAME"])
|
mint.url, os.path.join(settings.cashu_dir, ctx.obj["WALLET_NAME"])
|
||||||
)
|
)
|
||||||
|
|
||||||
# load the keys
|
await keyset_wallet.load_mint()
|
||||||
await keyset_wallet.load_mint(keyset_id=keyset)
|
|
||||||
|
|
||||||
# redeem proofs of this keyset
|
# redeem proofs of this keyset
|
||||||
redeem_proofs = [p for p in token.proofs if p.id == keyset]
|
redeem_proofs = [p for p in token.proofs if p.id == keyset]
|
||||||
@@ -142,10 +141,10 @@ async def redeem_TokenV3_multimint(ctx: Context, token: TokenV3, script, signatu
|
|||||||
)
|
)
|
||||||
await verify_mint(mint_wallet, t.mint)
|
await verify_mint(mint_wallet, t.mint)
|
||||||
keysets = mint_wallet._get_proofs_keysets(t.proofs)
|
keysets = mint_wallet._get_proofs_keysets(t.proofs)
|
||||||
# logger.debug(f"Keysets in tokens: {keysets}")
|
logger.debug(f"Keysets in tokens: {keysets}")
|
||||||
# loop over all keysets
|
# loop over all keysets
|
||||||
for keyset in set(keysets):
|
for keyset in set(keysets):
|
||||||
await mint_wallet.load_mint(keyset_id=keyset)
|
await mint_wallet.load_mint()
|
||||||
# redeem proofs of this keyset
|
# redeem proofs of this keyset
|
||||||
redeem_proofs = [p for p in t.proofs if p.id == keyset]
|
redeem_proofs = [p for p in t.proofs if p.id == keyset]
|
||||||
_, _ = await mint_wallet.redeem(
|
_, _ = await mint_wallet.redeem(
|
||||||
|
|||||||
@@ -116,10 +116,16 @@ class LedgerAPI:
|
|||||||
"""Returns proofs of promise from promises. Wants secrets and blinding factors rs."""
|
"""Returns proofs of promise from promises. Wants secrets and blinding factors rs."""
|
||||||
proofs: List[Proof] = []
|
proofs: List[Proof] = []
|
||||||
for promise, secret, r in zip(promises, secrets, rs):
|
for promise, secret, r in zip(promises, secrets, rs):
|
||||||
|
logger.trace(f"Creating proof with keyset {self.keyset_id} =+ {promise.id}")
|
||||||
|
assert (
|
||||||
|
self.keyset_id == promise.id
|
||||||
|
), "our keyset id does not match promise id."
|
||||||
|
|
||||||
C_ = PublicKey(bytes.fromhex(promise.C_), raw=True)
|
C_ = PublicKey(bytes.fromhex(promise.C_), raw=True)
|
||||||
C = b_dhke.step3_alice(C_, r, self.public_keys[promise.amount])
|
C = b_dhke.step3_alice(C_, r, self.public_keys[promise.amount])
|
||||||
|
|
||||||
proof = Proof(
|
proof = Proof(
|
||||||
id=self.keyset_id,
|
id=promise.id,
|
||||||
amount=promise.amount,
|
amount=promise.amount,
|
||||||
C=C.serialize().hex(),
|
C=C.serialize().hex(),
|
||||||
secret=secret,
|
secret=secret,
|
||||||
|
|||||||
Reference in New Issue
Block a user