\n",
" \n",
" | 0 | \n",
- " 15 | \n",
+ " 6 | \n",
" {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
" {} | \n",
" 11474009 | \n",
+ " 4 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
- " 15 | \n",
+ " 6 | \n",
" 1 | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
"
\n",
" \n",
" | 1 | \n",
- " 30 | \n",
+ " 12 | \n",
" {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
" {} | \n",
" 11474009 | \n",
+ " 4 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
- " 15 | \n",
+ " 6 | \n",
" 2 | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
"
\n",
" \n",
" | 2 | \n",
- " 45 | \n",
+ " 18 | \n",
" {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x9fe0a203e190d87cef6b4b80b24fae73f243b3ea':... | \n",
+ " {} | \n",
" 11474307 | \n",
+ " 4 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
- " 15 | \n",
+ " 6 | \n",
" 3 | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
"
\n",
" \n",
" | 3 | \n",
- " 60 | \n",
+ " 24 | \n",
" {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x9fe0a203e190d87cef6b4b80b24fae73f243b3ea':... | \n",
+ " {'0xd776a7306ee6a060cebb46b46d305e88fd39ba84':... | \n",
" 11474332 | \n",
+ " 4 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
- " 15 | \n",
+ " 6 | \n",
" 4 | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
"
\n",
" \n",
" | 4 | \n",
- " 75 | \n",
+ " 30 | \n",
" {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x9fe0a203e190d87cef6b4b80b24fae73f243b3ea':... | \n",
+ " {'0xd776a7306ee6a060cebb46b46d305e88fd39ba84':... | \n",
" 11474426 | \n",
+ " 4 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
- " 15 | \n",
+ " 6 | \n",
" 5 | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
- " {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... | \n",
"
\n",
" \n",
"\n",
@@ -181,39 +175,25 @@
],
"text/plain": [
" index indexers \\\n",
- "0 15 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "1 30 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "2 45 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "3 60 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "4 75 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "\n",
- " delegator_portfolios block_number \\\n",
- "0 {} 11474009 \n",
- "1 {} 11474009 \n",
- "2 {'0x9fe0a203e190d87cef6b4b80b24fae73f243b3ea':... 11474307 \n",
- "3 {'0x9fe0a203e190d87cef6b4b80b24fae73f243b3ea':... 11474332 \n",
- "4 {'0x9fe0a203e190d87cef6b4b80b24fae73f243b3ea':... 11474426 \n",
+ "0 6 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
+ "1 12 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
+ "2 18 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
+ "3 24 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
+ "4 30 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
"\n",
- " injected_event_shift simulation subset run substep timestep \\\n",
- "0 0 0 0 1 15 1 \n",
- "1 0 0 0 1 15 2 \n",
- "2 0 0 0 1 15 3 \n",
- "3 0 0 0 1 15 4 \n",
- "4 0 0 0 1 15 5 \n",
+ " delegator_portfolios block_number epoch \\\n",
+ "0 {} 11474009 4 \n",
+ "1 {} 11474009 4 \n",
+ "2 {} 11474307 4 \n",
+ "3 {'0xd776a7306ee6a060cebb46b46d305e88fd39ba84':... 11474332 4 \n",
+ "4 {'0xd776a7306ee6a060cebb46b46d305e88fd39ba84':... 11474426 4 \n",
"\n",
- " cumulative_indexing_revenue \\\n",
- "0 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "1 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "2 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "3 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "4 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "\n",
- " cumulative_query_revenue \n",
- "0 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "1 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "2 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "3 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... \n",
- "4 {'0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e':... "
+ " injected_event_shift simulation subset run substep timestep \n",
+ "0 0 0 0 1 6 1 \n",
+ "1 0 0 0 1 6 2 \n",
+ "2 0 0 0 1 6 3 \n",
+ "3 0 0 0 1 6 4 \n",
+ "4 0 0 0 1 6 5 "
]
},
"execution_count": 3,
@@ -227,11 +207,24 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 4,
"id": "260a79c6-d6b3-400a-93b2-8fe9ee10bb7a",
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "self.id=1, self.shares=Decimal('0E-25'), self.holdings=Decimal('0'), self.undelegated_tokens=0"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.indexers.loc[1528]['0x7ab4cf25330ed7277ac7ab59380b68eea68abb0e'].delegators[1]"
+ ]
}
],
"metadata": {
@@ -250,7 +243,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.5"
+ "version": "3.8.10"
}
},
"nbformat": 4,
diff --git a/model/parts/delegate_front_runner.py b/model/parts/delegate_front_runner.py
index bb5b22d..d5cdb1b 100644
--- a/model/parts/delegate_front_runner.py
+++ b/model/parts/delegate_front_runner.py
@@ -103,5 +103,11 @@ def generate_output(self):
if self.plan:
# output must be a list of events.
self.output.append(self.plan)
+
+ def __str__(self):
+ """
+ Print all attributes of a class
+ """
+ return str(self.__class__) + ": " + str(self.__dict__)
diff --git a/model/parts/indexer.py b/model/parts/indexer.py
index a20fe23..bc30611 100644
--- a/model/parts/indexer.py
+++ b/model/parts/indexer.py
@@ -36,4 +36,10 @@ def __init__(self, indexer_id, pool_delegated_stake=Decimal(0), shares=Decimal(0
self.subgraphs = {} # key is subgraphDeploymentID, value is Subgraph
- self.buffered_rewards_assigned = 0 # this is indexing rewards--we cannot attribute to subgraph until allocationCloseds event
\ No newline at end of file
+ self.buffered_rewards_assigned = 0 # this is indexing rewards--we cannot attribute to subgraph until allocationCloseds event
+
+ def __str__(self):
+ """
+ Print all attributes of a class
+ """
+ return str(self.__class__) + ": " + str(self.__dict__)
diff --git a/model/parts/portfolio.py b/model/parts/portfolio.py
index 9e24569..36125ec 100644
--- a/model/parts/portfolio.py
+++ b/model/parts/portfolio.py
@@ -21,4 +21,10 @@ def __init__(self, id, holdings = Decimal(1000000000), eth_holdings = Decimal(10
self.delegate_block_number = delegate_block_number
self.withdraw_block_number = withdraw_block_number
self.indexer_ROI = indexer_ROI
- self.indexer_ROI_time = indexer_ROI_time
\ No newline at end of file
+ self.indexer_ROI_time = indexer_ROI_time
+
+ def __str__(self):
+ """
+ Print all attributes of a class
+ """
+ return str(self.__class__) + ": " + str(self.__dict__)
\ No newline at end of file
diff --git a/model/sys_params.py b/model/sys_params.py
index d037f66..099db8b 100644
--- a/model/sys_params.py
+++ b/model/sys_params.py
@@ -1,5 +1,5 @@
from .parts import utils
-from decimal import *
+from decimal import Decimal
from sys import platform
R_i_rate = [0.03]