proof-of-portfolio 0.0.79__tar.gz → 0.0.81__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/PKG-INFO +1 -1
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/_version.py +1 -1
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/proof_generator.py +53 -50
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/PKG-INFO +1 -1
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/pyproject.toml +1 -1
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/README.md +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/__init__.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/analyze_data.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/calmar.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/drawdown.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/merkle.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/mod.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/omega.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/pnl_score.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/position.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/sharpe.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/sortino.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/core/tstat.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/lib.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/ann_excess_return.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/ann_volatility.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/average.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/constants.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/mod.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/sqrt.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/variance.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/components/src/utils/weighting_distribution.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/generate_inputs.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/target/circuits.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/vk/vk +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_calmar/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_calmar/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_calmar/target/just_calmar.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_cps_to_log_return/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_cps_to_log_return/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_cps_to_log_return/target/just_cps_to_log_return.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_drawdown/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_drawdown/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_drawdown/target/just_drawdown.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_omega/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_omega/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_omega/target/just_omega.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_pnl/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_pnl/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_sharpe/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_sharpe/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_sharpe/target/just_sharpe.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_sortino/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_sortino/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_sortino/target/just_sortino.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_tstat/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_tstat/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_tstat/target/just_tstat.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/merkle_generator/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/merkle_generator/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/all.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/calmar.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/drawdown.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/generate_input_data.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/log_returns.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/main.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/omega.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/sharpe.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/sortino.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/tstat.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/utils.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/main.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/min_metrics.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/miner.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/parsing_utils.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/post_install.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/returns_generator/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/returns_generator/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/returns_generator/target/returns_generator.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/signal_processor.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/tree_generator/Nargo.toml +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/tree_generator/src/main.nr +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/tree_generator/target/tree_generator.json +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/tree_generator/target.gz +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/validator.py +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/SOURCES.txt +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/dependency_links.txt +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/entry_points.txt +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/requires.txt +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/top_level.txt +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/setup.cfg +0 -0
- {proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: proof-of-portfolio
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.81
|
4
4
|
Summary: Zero-Knowledge Proof framework for verifiable, private portfolio performance metrics
|
5
5
|
Author-email: "Inference Labs, Inc." <info@inferencelabs.com>
|
6
6
|
Requires-Python: >=3.10
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# This file is auto-generated during build
|
2
|
-
__version__ = "0.0.
|
2
|
+
__version__ = "0.0.81"
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/proof_generator.py
RENAMED
@@ -3,6 +3,7 @@ import toml
|
|
3
3
|
import re
|
4
4
|
import os
|
5
5
|
import time
|
6
|
+
import json
|
6
7
|
import bittensor as bt
|
7
8
|
|
8
9
|
# Constants for the circuit
|
@@ -184,12 +185,12 @@ def run_bb_prove(circuit_dir):
|
|
184
185
|
Runs barretenberg proving.
|
185
186
|
Returns proof generation time and status.
|
186
187
|
"""
|
187
|
-
|
188
|
+
bt.logging.info("\n--- Running Barretenberg Proof Generation ---")
|
188
189
|
|
189
190
|
try:
|
190
191
|
subprocess.run(["bb", "--version"], capture_output=True, check=True)
|
191
192
|
except (subprocess.CalledProcessError, FileNotFoundError):
|
192
|
-
|
193
|
+
bt.logging.info(
|
193
194
|
"Error: bb (Barretenberg) not found. Please install it using \n`curl -L https://raw.githubusercontent.com/AztecProtocol/aztec-packages/master/barretenberg/cpp/installation/install | bash`"
|
194
195
|
)
|
195
196
|
return None, False
|
@@ -217,8 +218,8 @@ def run_bb_prove(circuit_dir):
|
|
217
218
|
prove_time = time.time() - prove_start
|
218
219
|
|
219
220
|
if prove_result.returncode != 0:
|
220
|
-
|
221
|
-
|
221
|
+
bt.logging.info("bb prove failed:")
|
222
|
+
bt.logging.info(
|
222
223
|
" ".join(
|
223
224
|
[
|
224
225
|
"bb",
|
@@ -232,15 +233,15 @@ def run_bb_prove(circuit_dir):
|
|
232
233
|
]
|
233
234
|
)
|
234
235
|
)
|
235
|
-
|
236
|
-
|
236
|
+
bt.logging.info(prove_result.stdout)
|
237
|
+
bt.logging.info(prove_result.stderr)
|
237
238
|
return None, False
|
238
239
|
|
239
|
-
|
240
|
+
bt.logging.info(f"Proof generated in {prove_time:.3f}s")
|
240
241
|
return prove_time, True
|
241
242
|
|
242
243
|
except Exception as e:
|
243
|
-
|
244
|
+
bt.logging.error(f"Error during proof generation/verification: {e}")
|
244
245
|
return None, False
|
245
246
|
|
246
247
|
|
@@ -291,10 +292,9 @@ def generate_proof(
|
|
291
292
|
if data is None:
|
292
293
|
if verbose:
|
293
294
|
bt.logging.info("Loading data from validator_checkpoint.json...")
|
294
|
-
import json
|
295
295
|
|
296
|
-
|
297
|
-
|
296
|
+
with open("validator_checkpoint.json", "r") as f:
|
297
|
+
data = json.load(f)
|
298
298
|
except Exception as e:
|
299
299
|
bt.logging.error(f"Failed to load data {e}")
|
300
300
|
|
@@ -454,22 +454,22 @@ def generate_proof(
|
|
454
454
|
)
|
455
455
|
|
456
456
|
if verbose:
|
457
|
-
|
457
|
+
bt.logging.info(f"Generated signals Merkle root: {signals_merkle_root}")
|
458
458
|
if isinstance(signals_merkle_root, str) and signals_merkle_root.startswith(
|
459
459
|
"0x"
|
460
460
|
):
|
461
|
-
|
461
|
+
bt.logging.info(f"Signals Merkle root (hex): {signals_merkle_root}")
|
462
462
|
else:
|
463
|
-
|
463
|
+
bt.logging.info(f"Signals Merkle root (int): {signals_merkle_root}")
|
464
464
|
|
465
465
|
if verbose:
|
466
|
-
|
467
|
-
|
466
|
+
bt.logging.info("Returns Merkle root will be calculated within the circuit")
|
467
|
+
bt.logging.info(f"Number of daily returns: {n_returns}")
|
468
468
|
|
469
469
|
if verbose:
|
470
|
-
|
470
|
+
bt.logging.info("Running main proof of portfolio circuit...")
|
471
471
|
else:
|
472
|
-
|
472
|
+
bt.logging.info(f"Generating witness for hotkey {miner_hotkey}...")
|
473
473
|
main_circuit_dir = os.path.join(current_dir, "circuits")
|
474
474
|
|
475
475
|
# Pass annual risk-free rate (to match ann_excess_return usage)
|
@@ -514,14 +514,14 @@ def generate_proof(
|
|
514
514
|
toml.dump(main_prover_input, f)
|
515
515
|
|
516
516
|
if verbose:
|
517
|
-
|
517
|
+
bt.logging.info("Executing main circuit to generate witness...")
|
518
518
|
witness_start = time.time()
|
519
519
|
output = run_command(
|
520
520
|
["nargo", "execute", "witness", "--silence-warnings"], main_circuit_dir, verbose
|
521
521
|
)
|
522
522
|
witness_time = time.time() - witness_start
|
523
523
|
if verbose:
|
524
|
-
|
524
|
+
bt.logging.info(f"Witness generation completed in {witness_time:.3f}s")
|
525
525
|
|
526
526
|
fields = parse_nargo_struct_output(output)
|
527
527
|
if len(fields) < 9:
|
@@ -586,52 +586,55 @@ def generate_proof(
|
|
586
586
|
if witness_only:
|
587
587
|
prove_time, proving_success = None, True
|
588
588
|
if verbose:
|
589
|
-
|
589
|
+
bt.logging.info(
|
590
|
+
"Skipping barretenberg proof generation (witness_only=True)"
|
591
|
+
)
|
590
592
|
else:
|
591
593
|
try:
|
592
594
|
prove_time, proving_success = run_bb_prove(main_circuit_dir)
|
593
595
|
if prove_time is None:
|
594
|
-
|
595
|
-
print("Barretenberg proof generation failed")
|
596
|
+
bt.logging.error("Barretenberg proof generation failed")
|
596
597
|
prove_time, proving_success = None, False
|
597
598
|
except Exception as e:
|
598
|
-
|
599
|
+
bt.logging.error(f"Exception during proof generation: {e}")
|
599
600
|
prove_time, proving_success = None, False
|
600
601
|
|
601
602
|
# Always print key production info: hotkey and verification status
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
603
|
+
bt.logging.info(f"Hotkey: {miner_hotkey}")
|
604
|
+
bt.logging.info(f"Orders processed: {signals_count}")
|
605
|
+
bt.logging.info(f"Signals Merkle Root: {signals_merkle_root}")
|
606
|
+
bt.logging.info(f"Returns Merkle Root: {returns_merkle_root}")
|
607
|
+
bt.logging.info(f"Average Daily PnL: {avg_daily_pnl_scaled:.9f}")
|
608
|
+
bt.logging.info(f"Sharpe Ratio: {sharpe_ratio_scaled:.9f}")
|
608
609
|
# Convert drawdown factor to percentage: drawdown% = (1 - factor) * 100
|
609
610
|
drawdown_percentage = (1 - max_drawdown_scaled) * 100
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
611
|
+
bt.logging.info(
|
612
|
+
f"Max Drawdown: {max_drawdown_scaled:.9f} ({drawdown_percentage:.6f}%)"
|
613
|
+
)
|
614
|
+
bt.logging.info(f"Calmar Ratio: {calmar_ratio_scaled:.9f}")
|
615
|
+
bt.logging.info(f"Omega Ratio: {omega_ratio_scaled:.9f}")
|
616
|
+
bt.logging.info(f"Sortino Ratio: {sortino_ratio_scaled:.9f}")
|
617
|
+
bt.logging.info(f"Statistical Confidence: {stat_confidence_scaled:.9f}")
|
618
|
+
bt.logging.info(f"PnL Score: {pnl_score_scaled:.9f}")
|
616
619
|
|
617
620
|
if verbose:
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
621
|
+
bt.logging.info("\n--- Proof Generation Complete ---")
|
622
|
+
bt.logging.info("\n=== MERKLE ROOTS ===")
|
623
|
+
bt.logging.info(f"Signals Merkle Root: {signals_merkle_root}")
|
624
|
+
bt.logging.info(f"Returns Merkle Root: {returns_merkle_root}")
|
625
|
+
|
626
|
+
bt.logging.info("\n=== DATA SUMMARY ===")
|
627
|
+
bt.logging.info(f"Daily returns processed: {n_returns}")
|
628
|
+
bt.logging.info(f"Trading signals processed: {signals_count}")
|
629
|
+
bt.logging.info("PnL calculated from cumulative returns in circuit")
|
630
|
+
|
631
|
+
bt.logging.info("\n=== PROOF GENERATION RESULTS ===")
|
632
|
+
bt.logging.info(f"Witness generation time: {witness_time:.3f}s")
|
630
633
|
if not witness_only:
|
631
634
|
if prove_time is not None:
|
632
|
-
|
635
|
+
bt.logging.info(f"Proof generation time: {prove_time:.3f}s")
|
633
636
|
else:
|
634
|
-
|
637
|
+
bt.logging.info("Unable to prove due to an error.")
|
635
638
|
|
636
639
|
# Return structured results for programmatic access
|
637
640
|
return {
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: proof-of-portfolio
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.81
|
4
4
|
Summary: Zero-Knowledge Proof framework for verifiable, private portfolio performance metrics
|
5
5
|
Author-email: "Inference Labs, Inc." <info@inferencelabs.com>
|
6
6
|
Requires-Python: >=3.10
|
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
|
5
5
|
|
6
6
|
[project]
|
7
7
|
name = "proof-of-portfolio"
|
8
|
-
version = "0.0.
|
8
|
+
version = "0.0.81"
|
9
9
|
description = "Zero-Knowledge Proof framework for verifiable, private portfolio performance metrics"
|
10
10
|
readme = "README.md"
|
11
11
|
authors = [{ name = "Inference Labs, Inc.", email = "info@inferencelabs.com" }]
|
File without changes
|
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/Nargo.toml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/circuits/src/main.nr
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_pnl/Nargo.toml
RENAMED
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demo/just_pnl/src/main.nr
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/drawdown.py
RENAMED
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/demos/log_returns.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/signal_processor.py
RENAMED
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/tree_generator/Nargo.toml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio/tree_generator/target.gz
RENAMED
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/entry_points.txt
RENAMED
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/requires.txt
RENAMED
File without changes
|
{proof_of_portfolio-0.0.79 → proof_of_portfolio-0.0.81}/proof_of_portfolio.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|