@qubic.org/registry 0.2.0
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.
- package/README.md +321 -0
- package/data/epoch-refs.json +131 -0
- package/data/epochs/122/MyLastMatch.json +9 -0
- package/data/epochs/122/Quottery.json +367 -0
- package/data/epochs/122/Qx.json +385 -0
- package/data/epochs/122/Random.json +32 -0
- package/data/epochs/123/GeneralQuorumProposal.json +317 -0
- package/data/epochs/123/MyLastMatch.json +9 -0
- package/data/epochs/123/Quottery.json +367 -0
- package/data/epochs/123/Qx.json +385 -0
- package/data/epochs/123/Random.json +32 -0
- package/data/epochs/123/SupplyWatcher.json +9 -0
- package/data/epochs/124/GeneralQuorumProposal.json +317 -0
- package/data/epochs/124/MyLastMatch.json +9 -0
- package/data/epochs/124/Quottery.json +367 -0
- package/data/epochs/124/Qx.json +385 -0
- package/data/epochs/124/Random.json +32 -0
- package/data/epochs/124/SupplyWatcher.json +9 -0
- package/data/epochs/125/GeneralQuorumProposal.json +317 -0
- package/data/epochs/125/MyLastMatch.json +9 -0
- package/data/epochs/125/Quottery.json +367 -0
- package/data/epochs/125/Qx.json +385 -0
- package/data/epochs/125/Random.json +32 -0
- package/data/epochs/125/SupplyWatcher.json +9 -0
- package/data/epochs/126/GeneralQuorumProposal.json +317 -0
- package/data/epochs/126/MyLastMatch.json +9 -0
- package/data/epochs/126/Quottery.json +367 -0
- package/data/epochs/126/Qx.json +385 -0
- package/data/epochs/126/Random.json +32 -0
- package/data/epochs/126/SupplyWatcher.json +9 -0
- package/data/epochs/127/ComputorControlledFund.json +333 -0
- package/data/epochs/127/GeneralQuorumProposal.json +317 -0
- package/data/epochs/127/MyLastMatch.json +9 -0
- package/data/epochs/127/Quottery.json +367 -0
- package/data/epochs/127/Qx.json +385 -0
- package/data/epochs/127/Random.json +32 -0
- package/data/epochs/127/SupplyWatcher.json +9 -0
- package/data/epochs/128/ComputorControlledFund.json +333 -0
- package/data/epochs/128/GeneralQuorumProposal.json +317 -0
- package/data/epochs/128/MyLastMatch.json +9 -0
- package/data/epochs/128/Quottery.json +367 -0
- package/data/epochs/128/Qx.json +385 -0
- package/data/epochs/128/Random.json +32 -0
- package/data/epochs/128/SupplyWatcher.json +9 -0
- package/data/epochs/129/ComputorControlledFund.json +333 -0
- package/data/epochs/129/GeneralQuorumProposal.json +317 -0
- package/data/epochs/129/MyLastMatch.json +9 -0
- package/data/epochs/129/Quottery.json +367 -0
- package/data/epochs/129/Qx.json +385 -0
- package/data/epochs/129/Random.json +32 -0
- package/data/epochs/129/SupplyWatcher.json +9 -0
- package/data/epochs/130/ComputorControlledFund.json +333 -0
- package/data/epochs/130/GeneralQuorumProposal.json +317 -0
- package/data/epochs/130/MyLastMatch.json +9 -0
- package/data/epochs/130/Quottery.json +367 -0
- package/data/epochs/130/Qx.json +385 -0
- package/data/epochs/130/Random.json +32 -0
- package/data/epochs/130/SupplyWatcher.json +9 -0
- package/data/epochs/131/ComputorControlledFund.json +333 -0
- package/data/epochs/131/GeneralQuorumProposal.json +317 -0
- package/data/epochs/131/MyLastMatch.json +9 -0
- package/data/epochs/131/Quottery.json +367 -0
- package/data/epochs/131/Qx.json +385 -0
- package/data/epochs/131/Random.json +32 -0
- package/data/epochs/131/SupplyWatcher.json +9 -0
- package/data/epochs/132/ComputorControlledFund.json +333 -0
- package/data/epochs/132/GeneralQuorumProposal.json +317 -0
- package/data/epochs/132/MyLastMatch.json +9 -0
- package/data/epochs/132/Quottery.json +367 -0
- package/data/epochs/132/Qx.json +385 -0
- package/data/epochs/132/Random.json +32 -0
- package/data/epochs/132/SupplyWatcher.json +9 -0
- package/data/epochs/133/ComputorControlledFund.json +333 -0
- package/data/epochs/133/GeneralQuorumProposal.json +317 -0
- package/data/epochs/133/MyLastMatch.json +9 -0
- package/data/epochs/133/Quottery.json +367 -0
- package/data/epochs/133/Qx.json +385 -0
- package/data/epochs/133/Random.json +32 -0
- package/data/epochs/133/SupplyWatcher.json +9 -0
- package/data/epochs/134/ComputorControlledFund.json +333 -0
- package/data/epochs/134/GeneralQuorumProposal.json +317 -0
- package/data/epochs/134/MyLastMatch.json +9 -0
- package/data/epochs/134/Quottery.json +367 -0
- package/data/epochs/134/Qx.json +385 -0
- package/data/epochs/134/Random.json +32 -0
- package/data/epochs/134/SupplyWatcher.json +9 -0
- package/data/epochs/135/ComputorControlledFund.json +333 -0
- package/data/epochs/135/GeneralQuorumProposal.json +317 -0
- package/data/epochs/135/MyLastMatch.json +9 -0
- package/data/epochs/135/Quottery.json +367 -0
- package/data/epochs/135/Qx.json +385 -0
- package/data/epochs/135/Random.json +32 -0
- package/data/epochs/135/SupplyWatcher.json +9 -0
- package/data/epochs/136/ComputorControlledFund.json +333 -0
- package/data/epochs/136/GeneralQuorumProposal.json +317 -0
- package/data/epochs/136/MyLastMatch.json +9 -0
- package/data/epochs/136/Quottery.json +367 -0
- package/data/epochs/136/Qx.json +385 -0
- package/data/epochs/136/Random.json +32 -0
- package/data/epochs/136/SupplyWatcher.json +9 -0
- package/data/epochs/137/ComputorControlledFund.json +333 -0
- package/data/epochs/137/GeneralQuorumProposal.json +317 -0
- package/data/epochs/137/MyLastMatch.json +9 -0
- package/data/epochs/137/Qearn.json +219 -0
- package/data/epochs/137/Quottery.json +367 -0
- package/data/epochs/137/Qx.json +385 -0
- package/data/epochs/137/Random.json +32 -0
- package/data/epochs/137/SupplyWatcher.json +9 -0
- package/data/epochs/138/ComputorControlledFund.json +333 -0
- package/data/epochs/138/GeneralQuorumProposal.json +317 -0
- package/data/epochs/138/MyLastMatch.json +9 -0
- package/data/epochs/138/QVAULT.json +285 -0
- package/data/epochs/138/Qearn.json +219 -0
- package/data/epochs/138/Quottery.json +367 -0
- package/data/epochs/138/Qx.json +385 -0
- package/data/epochs/138/Random.json +32 -0
- package/data/epochs/138/SupplyWatcher.json +9 -0
- package/data/epochs/139/ComputorControlledFund.json +333 -0
- package/data/epochs/139/GeneralQuorumProposal.json +317 -0
- package/data/epochs/139/MyLastMatch.json +9 -0
- package/data/epochs/139/QVAULT.json +285 -0
- package/data/epochs/139/Qearn.json +219 -0
- package/data/epochs/139/Quottery.json +367 -0
- package/data/epochs/139/Qx.json +385 -0
- package/data/epochs/139/Random.json +32 -0
- package/data/epochs/139/SupplyWatcher.json +9 -0
- package/data/epochs/140/ComputorControlledFund.json +333 -0
- package/data/epochs/140/GeneralQuorumProposal.json +317 -0
- package/data/epochs/140/MyLastMatch.json +9 -0
- package/data/epochs/140/QVAULT.json +285 -0
- package/data/epochs/140/Qearn.json +260 -0
- package/data/epochs/140/Quottery.json +367 -0
- package/data/epochs/140/Qx.json +385 -0
- package/data/epochs/140/Random.json +32 -0
- package/data/epochs/140/SupplyWatcher.json +9 -0
- package/data/epochs/141/ComputorControlledFund.json +333 -0
- package/data/epochs/141/GeneralQuorumProposal.json +317 -0
- package/data/epochs/141/MyLastMatch.json +9 -0
- package/data/epochs/141/QVAULT.json +285 -0
- package/data/epochs/141/Qearn.json +260 -0
- package/data/epochs/141/Quottery.json +367 -0
- package/data/epochs/141/Qx.json +385 -0
- package/data/epochs/141/Random.json +32 -0
- package/data/epochs/141/SupplyWatcher.json +9 -0
- package/data/epochs/142/ComputorControlledFund.json +333 -0
- package/data/epochs/142/GeneralQuorumProposal.json +317 -0
- package/data/epochs/142/MyLastMatch.json +9 -0
- package/data/epochs/142/QVAULT.json +285 -0
- package/data/epochs/142/Qearn.json +260 -0
- package/data/epochs/142/Quottery.json +367 -0
- package/data/epochs/142/Qx.json +385 -0
- package/data/epochs/142/Random.json +32 -0
- package/data/epochs/142/SupplyWatcher.json +9 -0
- package/data/epochs/143/ComputorControlledFund.json +333 -0
- package/data/epochs/143/GeneralQuorumProposal.json +317 -0
- package/data/epochs/143/MyLastMatch.json +9 -0
- package/data/epochs/143/QVAULT.json +285 -0
- package/data/epochs/143/Qearn.json +260 -0
- package/data/epochs/143/Quottery.json +367 -0
- package/data/epochs/143/Qx.json +385 -0
- package/data/epochs/143/Random.json +32 -0
- package/data/epochs/143/SupplyWatcher.json +9 -0
- package/data/epochs/144/ComputorControlledFund.json +391 -0
- package/data/epochs/144/GeneralQuorumProposal.json +360 -0
- package/data/epochs/144/MyLastMatch.json +9 -0
- package/data/epochs/144/QVAULT.json +285 -0
- package/data/epochs/144/Qearn.json +359 -0
- package/data/epochs/144/Quottery.json +395 -0
- package/data/epochs/144/Qx.json +450 -0
- package/data/epochs/144/Random.json +32 -0
- package/data/epochs/144/SupplyWatcher.json +9 -0
- package/data/epochs/145/ComputorControlledFund.json +391 -0
- package/data/epochs/145/GeneralQuorumProposal.json +360 -0
- package/data/epochs/145/MyLastMatch.json +9 -0
- package/data/epochs/145/QVAULT.json +285 -0
- package/data/epochs/145/Qearn.json +359 -0
- package/data/epochs/145/Quottery.json +395 -0
- package/data/epochs/145/Qx.json +450 -0
- package/data/epochs/145/Random.json +32 -0
- package/data/epochs/145/SupplyWatcher.json +9 -0
- package/data/epochs/146/ComputorControlledFund.json +391 -0
- package/data/epochs/146/GeneralQuorumProposal.json +360 -0
- package/data/epochs/146/MyLastMatch.json +9 -0
- package/data/epochs/146/QVAULT.json +285 -0
- package/data/epochs/146/Qearn.json +359 -0
- package/data/epochs/146/Quottery.json +395 -0
- package/data/epochs/146/Qx.json +504 -0
- package/data/epochs/146/Random.json +32 -0
- package/data/epochs/146/SupplyWatcher.json +9 -0
- package/data/epochs/147/ComputorControlledFund.json +391 -0
- package/data/epochs/147/GeneralQuorumProposal.json +360 -0
- package/data/epochs/147/MyLastMatch.json +9 -0
- package/data/epochs/147/QVAULT.json +285 -0
- package/data/epochs/147/Qearn.json +359 -0
- package/data/epochs/147/Quottery.json +395 -0
- package/data/epochs/147/Qx.json +504 -0
- package/data/epochs/147/Random.json +32 -0
- package/data/epochs/147/SupplyWatcher.json +9 -0
- package/data/epochs/148/ComputorControlledFund.json +391 -0
- package/data/epochs/148/GeneralQuorumProposal.json +360 -0
- package/data/epochs/148/MyLastMatch.json +9 -0
- package/data/epochs/148/QUtil.json +120 -0
- package/data/epochs/148/QVAULT.json +285 -0
- package/data/epochs/148/Qearn.json +359 -0
- package/data/epochs/148/Quottery.json +395 -0
- package/data/epochs/148/Qx.json +504 -0
- package/data/epochs/148/Random.json +32 -0
- package/data/epochs/148/SupplyWatcher.json +9 -0
- package/data/epochs/149/ComputorControlledFund.json +391 -0
- package/data/epochs/149/GeneralQuorumProposal.json +360 -0
- package/data/epochs/149/MsVault.json +435 -0
- package/data/epochs/149/MyLastMatch.json +9 -0
- package/data/epochs/149/QUtil.json +120 -0
- package/data/epochs/149/QVAULT.json +285 -0
- package/data/epochs/149/Qearn.json +359 -0
- package/data/epochs/149/Quottery.json +395 -0
- package/data/epochs/149/Qx.json +504 -0
- package/data/epochs/149/Random.json +32 -0
- package/data/epochs/149/SupplyWatcher.json +9 -0
- package/data/epochs/150/ComputorControlledFund.json +391 -0
- package/data/epochs/150/GeneralQuorumProposal.json +360 -0
- package/data/epochs/150/MsVault.json +435 -0
- package/data/epochs/150/MyLastMatch.json +9 -0
- package/data/epochs/150/QUtil.json +120 -0
- package/data/epochs/150/QVAULT.json +285 -0
- package/data/epochs/150/Qearn.json +359 -0
- package/data/epochs/150/Quottery.json +395 -0
- package/data/epochs/150/Qx.json +504 -0
- package/data/epochs/150/Random.json +32 -0
- package/data/epochs/150/SupplyWatcher.json +9 -0
- package/data/epochs/151/ComputorControlledFund.json +391 -0
- package/data/epochs/151/GeneralQuorumProposal.json +360 -0
- package/data/epochs/151/MsVault.json +435 -0
- package/data/epochs/151/MyLastMatch.json +9 -0
- package/data/epochs/151/QUtil.json +120 -0
- package/data/epochs/151/QVAULT.json +285 -0
- package/data/epochs/151/Qearn.json +359 -0
- package/data/epochs/151/Quottery.json +395 -0
- package/data/epochs/151/Qx.json +504 -0
- package/data/epochs/151/Random.json +32 -0
- package/data/epochs/151/SupplyWatcher.json +9 -0
- package/data/epochs/152/ComputorControlledFund.json +391 -0
- package/data/epochs/152/GeneralQuorumProposal.json +360 -0
- package/data/epochs/152/MsVault.json +435 -0
- package/data/epochs/152/MyLastMatch.json +9 -0
- package/data/epochs/152/QUtil.json +120 -0
- package/data/epochs/152/QVAULT.json +285 -0
- package/data/epochs/152/Qearn.json +359 -0
- package/data/epochs/152/Quottery.json +395 -0
- package/data/epochs/152/Qx.json +504 -0
- package/data/epochs/152/Random.json +32 -0
- package/data/epochs/152/SupplyWatcher.json +9 -0
- package/data/epochs/153/ComputorControlledFund.json +391 -0
- package/data/epochs/153/GeneralQuorumProposal.json +360 -0
- package/data/epochs/153/MsVault.json +435 -0
- package/data/epochs/153/MyLastMatch.json +9 -0
- package/data/epochs/153/QUtil.json +120 -0
- package/data/epochs/153/QVAULT.json +285 -0
- package/data/epochs/153/Qearn.json +359 -0
- package/data/epochs/153/Quottery.json +395 -0
- package/data/epochs/153/Qx.json +504 -0
- package/data/epochs/153/Random.json +32 -0
- package/data/epochs/153/SupplyWatcher.json +9 -0
- package/data/epochs/154/ComputorControlledFund.json +391 -0
- package/data/epochs/154/GeneralQuorumProposal.json +360 -0
- package/data/epochs/154/MsVault.json +435 -0
- package/data/epochs/154/MyLastMatch.json +9 -0
- package/data/epochs/154/QUtil.json +120 -0
- package/data/epochs/154/QVAULT.json +285 -0
- package/data/epochs/154/Qbay.json +1324 -0
- package/data/epochs/154/Qearn.json +359 -0
- package/data/epochs/154/Quottery.json +395 -0
- package/data/epochs/154/Qx.json +504 -0
- package/data/epochs/154/Random.json +32 -0
- package/data/epochs/154/SupplyWatcher.json +9 -0
- package/data/epochs/155/ComputorControlledFund.json +391 -0
- package/data/epochs/155/GeneralQuorumProposal.json +360 -0
- package/data/epochs/155/MsVault.json +435 -0
- package/data/epochs/155/MyLastMatch.json +9 -0
- package/data/epochs/155/QUtil.json +120 -0
- package/data/epochs/155/QVAULT.json +285 -0
- package/data/epochs/155/Qbay.json +1324 -0
- package/data/epochs/155/Qearn.json +359 -0
- package/data/epochs/155/Quottery.json +395 -0
- package/data/epochs/155/Qx.json +504 -0
- package/data/epochs/155/Random.json +32 -0
- package/data/epochs/155/SupplyWatcher.json +9 -0
- package/data/epochs/156/ComputorControlledFund.json +431 -0
- package/data/epochs/156/GeneralQuorumProposal.json +400 -0
- package/data/epochs/156/MsVault.json +435 -0
- package/data/epochs/156/MyLastMatch.json +9 -0
- package/data/epochs/156/QUtil.json +120 -0
- package/data/epochs/156/QVAULT.json +285 -0
- package/data/epochs/156/Qbay.json +1324 -0
- package/data/epochs/156/Qearn.json +359 -0
- package/data/epochs/156/Quottery.json +395 -0
- package/data/epochs/156/Qx.json +504 -0
- package/data/epochs/156/Random.json +32 -0
- package/data/epochs/156/SupplyWatcher.json +9 -0
- package/data/epochs/157/ComputorControlledFund.json +431 -0
- package/data/epochs/157/GeneralQuorumProposal.json +400 -0
- package/data/epochs/157/MsVault.json +435 -0
- package/data/epochs/157/MyLastMatch.json +9 -0
- package/data/epochs/157/QUtil.json +120 -0
- package/data/epochs/157/QVAULT.json +285 -0
- package/data/epochs/157/Qbay.json +1324 -0
- package/data/epochs/157/Qearn.json +359 -0
- package/data/epochs/157/Quottery.json +395 -0
- package/data/epochs/157/Qx.json +504 -0
- package/data/epochs/157/Random.json +32 -0
- package/data/epochs/157/SupplyWatcher.json +9 -0
- package/data/epochs/158/ComputorControlledFund.json +431 -0
- package/data/epochs/158/GeneralQuorumProposal.json +400 -0
- package/data/epochs/158/MsVault.json +435 -0
- package/data/epochs/158/MyLastMatch.json +9 -0
- package/data/epochs/158/QUtil.json +120 -0
- package/data/epochs/158/QVAULT.json +285 -0
- package/data/epochs/158/Qbay.json +1324 -0
- package/data/epochs/158/Qearn.json +359 -0
- package/data/epochs/158/Quottery.json +395 -0
- package/data/epochs/158/Qx.json +504 -0
- package/data/epochs/158/Random.json +32 -0
- package/data/epochs/158/SupplyWatcher.json +9 -0
- package/data/epochs/159/ComputorControlledFund.json +431 -0
- package/data/epochs/159/GeneralQuorumProposal.json +400 -0
- package/data/epochs/159/MsVault.json +435 -0
- package/data/epochs/159/MyLastMatch.json +9 -0
- package/data/epochs/159/QUtil.json +120 -0
- package/data/epochs/159/QVAULT.json +285 -0
- package/data/epochs/159/Qbay.json +1324 -0
- package/data/epochs/159/Qearn.json +359 -0
- package/data/epochs/159/Quottery.json +395 -0
- package/data/epochs/159/Qx.json +504 -0
- package/data/epochs/159/Random.json +32 -0
- package/data/epochs/159/SupplyWatcher.json +9 -0
- package/data/epochs/160/ComputorControlledFund.json +431 -0
- package/data/epochs/160/GeneralQuorumProposal.json +400 -0
- package/data/epochs/160/MsVault.json +435 -0
- package/data/epochs/160/MyLastMatch.json +9 -0
- package/data/epochs/160/QUtil.json +120 -0
- package/data/epochs/160/QVAULT.json +285 -0
- package/data/epochs/160/Qbay.json +1324 -0
- package/data/epochs/160/Qearn.json +359 -0
- package/data/epochs/160/Quottery.json +395 -0
- package/data/epochs/160/Qx.json +504 -0
- package/data/epochs/160/Random.json +32 -0
- package/data/epochs/160/SupplyWatcher.json +9 -0
- package/data/epochs/161/ComputorControlledFund.json +431 -0
- package/data/epochs/161/GeneralQuorumProposal.json +400 -0
- package/data/epochs/161/MsVault.json +435 -0
- package/data/epochs/161/MyLastMatch.json +9 -0
- package/data/epochs/161/QUtil.json +120 -0
- package/data/epochs/161/QVAULT.json +285 -0
- package/data/epochs/161/Qbay.json +1324 -0
- package/data/epochs/161/Qearn.json +359 -0
- package/data/epochs/161/Quottery.json +395 -0
- package/data/epochs/161/Qx.json +504 -0
- package/data/epochs/161/Random.json +32 -0
- package/data/epochs/161/SupplyWatcher.json +9 -0
- package/data/epochs/162/ComputorControlledFund.json +431 -0
- package/data/epochs/162/GeneralQuorumProposal.json +400 -0
- package/data/epochs/162/MsVault.json +435 -0
- package/data/epochs/162/MyLastMatch.json +9 -0
- package/data/epochs/162/QUtil.json +120 -0
- package/data/epochs/162/QVAULT.json +285 -0
- package/data/epochs/162/Qbay.json +1324 -0
- package/data/epochs/162/Qearn.json +359 -0
- package/data/epochs/162/Quottery.json +395 -0
- package/data/epochs/162/Qx.json +504 -0
- package/data/epochs/162/Random.json +32 -0
- package/data/epochs/162/SupplyWatcher.json +9 -0
- package/data/epochs/163/ComputorControlledFund.json +431 -0
- package/data/epochs/163/GeneralQuorumProposal.json +400 -0
- package/data/epochs/163/MsVault.json +435 -0
- package/data/epochs/163/MyLastMatch.json +9 -0
- package/data/epochs/163/QUtil.json +149 -0
- package/data/epochs/163/QVAULT.json +285 -0
- package/data/epochs/163/Qbay.json +1324 -0
- package/data/epochs/163/Qearn.json +359 -0
- package/data/epochs/163/Quottery.json +395 -0
- package/data/epochs/163/Qx.json +504 -0
- package/data/epochs/163/Random.json +32 -0
- package/data/epochs/163/SupplyWatcher.json +9 -0
- package/data/epochs/164/ComputorControlledFund.json +431 -0
- package/data/epochs/164/GeneralQuorumProposal.json +400 -0
- package/data/epochs/164/MsVault.json +435 -0
- package/data/epochs/164/MyLastMatch.json +9 -0
- package/data/epochs/164/QUtil.json +149 -0
- package/data/epochs/164/QVAULT.json +285 -0
- package/data/epochs/164/Qbay.json +1324 -0
- package/data/epochs/164/Qearn.json +359 -0
- package/data/epochs/164/Quottery.json +395 -0
- package/data/epochs/164/Qx.json +504 -0
- package/data/epochs/164/Random.json +32 -0
- package/data/epochs/164/SupplyWatcher.json +9 -0
- package/data/epochs/165/ComputorControlledFund.json +431 -0
- package/data/epochs/165/GeneralQuorumProposal.json +400 -0
- package/data/epochs/165/MsVault.json +435 -0
- package/data/epochs/165/MyLastMatch.json +9 -0
- package/data/epochs/165/QUtil.json +149 -0
- package/data/epochs/165/QVAULT.json +285 -0
- package/data/epochs/165/Qbay.json +1324 -0
- package/data/epochs/165/Qearn.json +359 -0
- package/data/epochs/165/Quottery.json +395 -0
- package/data/epochs/165/Qx.json +504 -0
- package/data/epochs/165/Random.json +32 -0
- package/data/epochs/165/SupplyWatcher.json +9 -0
- package/data/epochs/166/ComputorControlledFund.json +431 -0
- package/data/epochs/166/GeneralQuorumProposal.json +400 -0
- package/data/epochs/166/MsVault.json +435 -0
- package/data/epochs/166/MyLastMatch.json +9 -0
- package/data/epochs/166/QUtil.json +149 -0
- package/data/epochs/166/QVAULT.json +285 -0
- package/data/epochs/166/Qbay.json +1324 -0
- package/data/epochs/166/Qearn.json +359 -0
- package/data/epochs/166/Quottery.json +395 -0
- package/data/epochs/166/Qx.json +504 -0
- package/data/epochs/166/Random.json +32 -0
- package/data/epochs/166/SupplyWatcher.json +9 -0
- package/data/epochs/167/ComputorControlledFund.json +431 -0
- package/data/epochs/167/GeneralQuorumProposal.json +400 -0
- package/data/epochs/167/MsVault.json +435 -0
- package/data/epochs/167/MyLastMatch.json +9 -0
- package/data/epochs/167/QUtil.json +149 -0
- package/data/epochs/167/QVAULT.json +285 -0
- package/data/epochs/167/Qbay.json +1324 -0
- package/data/epochs/167/Qearn.json +359 -0
- package/data/epochs/167/Quottery.json +395 -0
- package/data/epochs/167/Qx.json +504 -0
- package/data/epochs/167/Random.json +32 -0
- package/data/epochs/167/SupplyWatcher.json +9 -0
- package/data/epochs/168/ComputorControlledFund.json +431 -0
- package/data/epochs/168/GeneralQuorumProposal.json +406 -0
- package/data/epochs/168/MsVault.json +435 -0
- package/data/epochs/168/MyLastMatch.json +9 -0
- package/data/epochs/168/QUtil.json +485 -0
- package/data/epochs/168/QVAULT.json +285 -0
- package/data/epochs/168/Qbay.json +1324 -0
- package/data/epochs/168/Qearn.json +359 -0
- package/data/epochs/168/Quottery.json +395 -0
- package/data/epochs/168/Qx.json +504 -0
- package/data/epochs/168/Random.json +32 -0
- package/data/epochs/168/SupplyWatcher.json +9 -0
- package/data/epochs/169/ComputorControlledFund.json +431 -0
- package/data/epochs/169/GeneralQuorumProposal.json +406 -0
- package/data/epochs/169/MsVault.json +435 -0
- package/data/epochs/169/MyLastMatch.json +9 -0
- package/data/epochs/169/QUtil.json +485 -0
- package/data/epochs/169/QVAULT.json +285 -0
- package/data/epochs/169/Qbay.json +1324 -0
- package/data/epochs/169/Qearn.json +359 -0
- package/data/epochs/169/Quottery.json +395 -0
- package/data/epochs/169/Qx.json +504 -0
- package/data/epochs/169/Random.json +32 -0
- package/data/epochs/169/SupplyWatcher.json +9 -0
- package/data/epochs/170/ComputorControlledFund.json +431 -0
- package/data/epochs/170/GeneralQuorumProposal.json +406 -0
- package/data/epochs/170/MsVault.json +435 -0
- package/data/epochs/170/MyLastMatch.json +9 -0
- package/data/epochs/170/QUtil.json +485 -0
- package/data/epochs/170/QVAULT.json +285 -0
- package/data/epochs/170/Qbay.json +1324 -0
- package/data/epochs/170/Qearn.json +359 -0
- package/data/epochs/170/Quottery.json +395 -0
- package/data/epochs/170/Qx.json +504 -0
- package/data/epochs/170/Random.json +32 -0
- package/data/epochs/170/SupplyWatcher.json +9 -0
- package/data/epochs/171/ComputorControlledFund.json +431 -0
- package/data/epochs/171/GeneralQuorumProposal.json +406 -0
- package/data/epochs/171/MsVault.json +435 -0
- package/data/epochs/171/MyLastMatch.json +9 -0
- package/data/epochs/171/QUtil.json +485 -0
- package/data/epochs/171/QVAULT.json +285 -0
- package/data/epochs/171/Qbay.json +1324 -0
- package/data/epochs/171/Qearn.json +359 -0
- package/data/epochs/171/Qswap.json +699 -0
- package/data/epochs/171/Quottery.json +395 -0
- package/data/epochs/171/Qx.json +504 -0
- package/data/epochs/171/Random.json +32 -0
- package/data/epochs/171/SupplyWatcher.json +9 -0
- package/data/epochs/172/ComputorControlledFund.json +431 -0
- package/data/epochs/172/GeneralQuorumProposal.json +406 -0
- package/data/epochs/172/MsVault.json +435 -0
- package/data/epochs/172/MyLastMatch.json +9 -0
- package/data/epochs/172/Nostromo.json +977 -0
- package/data/epochs/172/QUtil.json +485 -0
- package/data/epochs/172/QVAULT.json +285 -0
- package/data/epochs/172/Qbay.json +1324 -0
- package/data/epochs/172/Qearn.json +359 -0
- package/data/epochs/172/Qswap.json +699 -0
- package/data/epochs/172/Quottery.json +395 -0
- package/data/epochs/172/Qx.json +504 -0
- package/data/epochs/172/Random.json +32 -0
- package/data/epochs/172/SupplyWatcher.json +9 -0
- package/data/epochs/173/ComputorControlledFund.json +431 -0
- package/data/epochs/173/GeneralQuorumProposal.json +406 -0
- package/data/epochs/173/MsVault.json +435 -0
- package/data/epochs/173/MyLastMatch.json +9 -0
- package/data/epochs/173/Nostromo.json +977 -0
- package/data/epochs/173/QUtil.json +485 -0
- package/data/epochs/173/QVAULT.json +285 -0
- package/data/epochs/173/Qbay.json +1324 -0
- package/data/epochs/173/Qearn.json +359 -0
- package/data/epochs/173/Qswap.json +699 -0
- package/data/epochs/173/Quottery.json +395 -0
- package/data/epochs/173/Qx.json +504 -0
- package/data/epochs/173/Random.json +32 -0
- package/data/epochs/173/SupplyWatcher.json +9 -0
- package/data/epochs/174/ComputorControlledFund.json +431 -0
- package/data/epochs/174/GeneralQuorumProposal.json +406 -0
- package/data/epochs/174/MsVault.json +435 -0
- package/data/epochs/174/MyLastMatch.json +9 -0
- package/data/epochs/174/Nostromo.json +977 -0
- package/data/epochs/174/QUtil.json +485 -0
- package/data/epochs/174/QVAULT.json +285 -0
- package/data/epochs/174/Qbay.json +1324 -0
- package/data/epochs/174/Qearn.json +359 -0
- package/data/epochs/174/Qswap.json +699 -0
- package/data/epochs/174/Quottery.json +395 -0
- package/data/epochs/174/Qx.json +504 -0
- package/data/epochs/174/Random.json +32 -0
- package/data/epochs/174/SupplyWatcher.json +9 -0
- package/data/epochs/175/ComputorControlledFund.json +431 -0
- package/data/epochs/175/GeneralQuorumProposal.json +406 -0
- package/data/epochs/175/MsVault.json +435 -0
- package/data/epochs/175/MyLastMatch.json +9 -0
- package/data/epochs/175/Nostromo.json +977 -0
- package/data/epochs/175/QUtil.json +485 -0
- package/data/epochs/175/QVAULT.json +285 -0
- package/data/epochs/175/Qbay.json +1324 -0
- package/data/epochs/175/Qearn.json +359 -0
- package/data/epochs/175/Qswap.json +699 -0
- package/data/epochs/175/Quottery.json +395 -0
- package/data/epochs/175/Qx.json +504 -0
- package/data/epochs/175/Random.json +32 -0
- package/data/epochs/175/SupplyWatcher.json +9 -0
- package/data/epochs/176/ComputorControlledFund.json +452 -0
- package/data/epochs/176/GeneralQuorumProposal.json +427 -0
- package/data/epochs/176/MsVault.json +435 -0
- package/data/epochs/176/MyLastMatch.json +9 -0
- package/data/epochs/176/Nostromo.json +977 -0
- package/data/epochs/176/QUtil.json +485 -0
- package/data/epochs/176/QVAULT.json +285 -0
- package/data/epochs/176/Qbay.json +1324 -0
- package/data/epochs/176/Qearn.json +359 -0
- package/data/epochs/176/Qswap.json +699 -0
- package/data/epochs/176/Quottery.json +395 -0
- package/data/epochs/176/Qx.json +504 -0
- package/data/epochs/176/Random.json +32 -0
- package/data/epochs/176/SupplyWatcher.json +9 -0
- package/data/epochs/177/ComputorControlledFund.json +452 -0
- package/data/epochs/177/GeneralQuorumProposal.json +427 -0
- package/data/epochs/177/MsVault.json +435 -0
- package/data/epochs/177/MyLastMatch.json +9 -0
- package/data/epochs/177/Nostromo.json +977 -0
- package/data/epochs/177/QUtil.json +485 -0
- package/data/epochs/177/QVAULT.json +285 -0
- package/data/epochs/177/Qbay.json +1324 -0
- package/data/epochs/177/Qearn.json +359 -0
- package/data/epochs/177/Qswap.json +699 -0
- package/data/epochs/177/Quottery.json +395 -0
- package/data/epochs/177/Qx.json +504 -0
- package/data/epochs/177/Random.json +32 -0
- package/data/epochs/177/SupplyWatcher.json +9 -0
- package/data/epochs/178/ComputorControlledFund.json +452 -0
- package/data/epochs/178/GeneralQuorumProposal.json +427 -0
- package/data/epochs/178/MsVault.json +435 -0
- package/data/epochs/178/MyLastMatch.json +9 -0
- package/data/epochs/178/Nostromo.json +977 -0
- package/data/epochs/178/QUtil.json +485 -0
- package/data/epochs/178/QVAULT.json +285 -0
- package/data/epochs/178/Qbay.json +1324 -0
- package/data/epochs/178/Qearn.json +359 -0
- package/data/epochs/178/Qswap.json +699 -0
- package/data/epochs/178/Quottery.json +395 -0
- package/data/epochs/178/Qx.json +504 -0
- package/data/epochs/178/Random.json +32 -0
- package/data/epochs/178/SupplyWatcher.json +9 -0
- package/data/epochs/179/ComputorControlledFund.json +452 -0
- package/data/epochs/179/GeneralQuorumProposal.json +427 -0
- package/data/epochs/179/MsVault.json +435 -0
- package/data/epochs/179/MyLastMatch.json +9 -0
- package/data/epochs/179/Nostromo.json +977 -0
- package/data/epochs/179/QUtil.json +527 -0
- package/data/epochs/179/QVAULT.json +285 -0
- package/data/epochs/179/Qbay.json +1324 -0
- package/data/epochs/179/Qdraw.json +119 -0
- package/data/epochs/179/Qearn.json +359 -0
- package/data/epochs/179/Qswap.json +699 -0
- package/data/epochs/179/Quottery.json +395 -0
- package/data/epochs/179/Qx.json +504 -0
- package/data/epochs/179/Random.json +32 -0
- package/data/epochs/179/SupplyWatcher.json +9 -0
- package/data/epochs/180/ComputorControlledFund.json +452 -0
- package/data/epochs/180/GeneralQuorumProposal.json +427 -0
- package/data/epochs/180/MsVault.json +435 -0
- package/data/epochs/180/MyLastMatch.json +9 -0
- package/data/epochs/180/Nostromo.json +977 -0
- package/data/epochs/180/QUtil.json +527 -0
- package/data/epochs/180/QVAULT.json +285 -0
- package/data/epochs/180/Qbay.json +1324 -0
- package/data/epochs/180/Qdraw.json +119 -0
- package/data/epochs/180/Qearn.json +359 -0
- package/data/epochs/180/Qswap.json +754 -0
- package/data/epochs/180/Quottery.json +395 -0
- package/data/epochs/180/Qx.json +504 -0
- package/data/epochs/180/Random.json +32 -0
- package/data/epochs/180/SupplyWatcher.json +9 -0
- package/data/epochs/181/ComputorControlledFund.json +452 -0
- package/data/epochs/181/GeneralQuorumProposal.json +427 -0
- package/data/epochs/181/MsVault.json +960 -0
- package/data/epochs/181/MyLastMatch.json +9 -0
- package/data/epochs/181/Nostromo.json +977 -0
- package/data/epochs/181/QUtil.json +527 -0
- package/data/epochs/181/QVAULT.json +285 -0
- package/data/epochs/181/Qbay.json +1324 -0
- package/data/epochs/181/Qdraw.json +119 -0
- package/data/epochs/181/Qearn.json +359 -0
- package/data/epochs/181/Qswap.json +754 -0
- package/data/epochs/181/Quottery.json +395 -0
- package/data/epochs/181/Qx.json +504 -0
- package/data/epochs/181/Random.json +32 -0
- package/data/epochs/181/SupplyWatcher.json +9 -0
- package/data/epochs/182/ComputorControlledFund.json +452 -0
- package/data/epochs/182/GeneralQuorumProposal.json +427 -0
- package/data/epochs/182/MsVault.json +960 -0
- package/data/epochs/182/MyLastMatch.json +9 -0
- package/data/epochs/182/Nostromo.json +977 -0
- package/data/epochs/182/QBond.json +588 -0
- package/data/epochs/182/QUtil.json +527 -0
- package/data/epochs/182/QVAULT.json +285 -0
- package/data/epochs/182/Qbay.json +1324 -0
- package/data/epochs/182/Qdraw.json +119 -0
- package/data/epochs/182/Qearn.json +359 -0
- package/data/epochs/182/Qswap.json +754 -0
- package/data/epochs/182/Quottery.json +395 -0
- package/data/epochs/182/Qx.json +504 -0
- package/data/epochs/182/Random.json +32 -0
- package/data/epochs/182/RandomLottery.json +160 -0
- package/data/epochs/182/SupplyWatcher.json +9 -0
- package/data/epochs/183/ComputorControlledFund.json +452 -0
- package/data/epochs/183/GeneralQuorumProposal.json +427 -0
- package/data/epochs/183/MsVault.json +960 -0
- package/data/epochs/183/MyLastMatch.json +9 -0
- package/data/epochs/183/Nostromo.json +977 -0
- package/data/epochs/183/QBond.json +588 -0
- package/data/epochs/183/QUtil.json +527 -0
- package/data/epochs/183/QVAULT.json +285 -0
- package/data/epochs/183/Qbay.json +1324 -0
- package/data/epochs/183/Qdraw.json +119 -0
- package/data/epochs/183/Qearn.json +359 -0
- package/data/epochs/183/Qswap.json +754 -0
- package/data/epochs/183/Quottery.json +395 -0
- package/data/epochs/183/Qx.json +504 -0
- package/data/epochs/183/Random.json +32 -0
- package/data/epochs/183/RandomLottery.json +160 -0
- package/data/epochs/183/SupplyWatcher.json +9 -0
- package/data/epochs/184/ComputorControlledFund.json +452 -0
- package/data/epochs/184/GeneralQuorumProposal.json +427 -0
- package/data/epochs/184/MsVault.json +960 -0
- package/data/epochs/184/MyLastMatch.json +9 -0
- package/data/epochs/184/Nostromo.json +977 -0
- package/data/epochs/184/QBond.json +588 -0
- package/data/epochs/184/QUtil.json +527 -0
- package/data/epochs/184/QVAULT.json +285 -0
- package/data/epochs/184/Qbay.json +1324 -0
- package/data/epochs/184/Qdraw.json +119 -0
- package/data/epochs/184/Qearn.json +359 -0
- package/data/epochs/184/Qswap.json +754 -0
- package/data/epochs/184/Quottery.json +395 -0
- package/data/epochs/184/Qx.json +504 -0
- package/data/epochs/184/Random.json +32 -0
- package/data/epochs/184/RandomLottery.json +160 -0
- package/data/epochs/184/SupplyWatcher.json +9 -0
- package/data/epochs/185/ComputorControlledFund.json +452 -0
- package/data/epochs/185/GeneralQuorumProposal.json +427 -0
- package/data/epochs/185/MsVault.json +960 -0
- package/data/epochs/185/MyLastMatch.json +9 -0
- package/data/epochs/185/Nostromo.json +977 -0
- package/data/epochs/185/QBond.json +588 -0
- package/data/epochs/185/QUtil.json +527 -0
- package/data/epochs/185/QVAULT.json +285 -0
- package/data/epochs/185/Qbay.json +1324 -0
- package/data/epochs/185/Qdraw.json +119 -0
- package/data/epochs/185/Qearn.json +359 -0
- package/data/epochs/185/Qswap.json +754 -0
- package/data/epochs/185/Quottery.json +395 -0
- package/data/epochs/185/Qx.json +504 -0
- package/data/epochs/185/Random.json +32 -0
- package/data/epochs/185/RandomLottery.json +160 -0
- package/data/epochs/185/SupplyWatcher.json +9 -0
- package/data/epochs/186/ComputorControlledFund.json +452 -0
- package/data/epochs/186/GeneralQuorumProposal.json +427 -0
- package/data/epochs/186/MsVault.json +960 -0
- package/data/epochs/186/MyLastMatch.json +9 -0
- package/data/epochs/186/Nostromo.json +977 -0
- package/data/epochs/186/QBond.json +588 -0
- package/data/epochs/186/QUtil.json +603 -0
- package/data/epochs/186/QVAULT.json +285 -0
- package/data/epochs/186/Qbay.json +1324 -0
- package/data/epochs/186/Qdraw.json +119 -0
- package/data/epochs/186/Qearn.json +359 -0
- package/data/epochs/186/Qswap.json +754 -0
- package/data/epochs/186/Quottery.json +395 -0
- package/data/epochs/186/Qx.json +504 -0
- package/data/epochs/186/Random.json +32 -0
- package/data/epochs/186/RandomLottery.json +343 -0
- package/data/epochs/186/SupplyWatcher.json +9 -0
- package/data/epochs/187/ComputorControlledFund.json +452 -0
- package/data/epochs/187/GeneralQuorumProposal.json +427 -0
- package/data/epochs/187/MsVault.json +960 -0
- package/data/epochs/187/MyLastMatch.json +9 -0
- package/data/epochs/187/Nostromo.json +977 -0
- package/data/epochs/187/QBond.json +588 -0
- package/data/epochs/187/QUtil.json +649 -0
- package/data/epochs/187/QVAULT.json +285 -0
- package/data/epochs/187/Qbay.json +1324 -0
- package/data/epochs/187/Qdraw.json +119 -0
- package/data/epochs/187/Qearn.json +359 -0
- package/data/epochs/187/Qswap.json +754 -0
- package/data/epochs/187/Quottery.json +395 -0
- package/data/epochs/187/Qx.json +504 -0
- package/data/epochs/187/Random.json +32 -0
- package/data/epochs/187/RandomLottery.json +343 -0
- package/data/epochs/187/SupplyWatcher.json +9 -0
- package/data/epochs/188/ComputorControlledFund.json +452 -0
- package/data/epochs/188/GeneralQuorumProposal.json +427 -0
- package/data/epochs/188/MsVault.json +960 -0
- package/data/epochs/188/MyLastMatch.json +9 -0
- package/data/epochs/188/Nostromo.json +977 -0
- package/data/epochs/188/QBond.json +588 -0
- package/data/epochs/188/QUtil.json +649 -0
- package/data/epochs/188/QVAULT.json +285 -0
- package/data/epochs/188/Qbay.json +1324 -0
- package/data/epochs/188/Qdraw.json +119 -0
- package/data/epochs/188/Qearn.json +359 -0
- package/data/epochs/188/Qswap.json +754 -0
- package/data/epochs/188/Quottery.json +395 -0
- package/data/epochs/188/Qx.json +504 -0
- package/data/epochs/188/Random.json +32 -0
- package/data/epochs/188/RandomLottery.json +343 -0
- package/data/epochs/188/SupplyWatcher.json +9 -0
- package/data/epochs/189/ComputorControlledFund.json +452 -0
- package/data/epochs/189/GeneralQuorumProposal.json +427 -0
- package/data/epochs/189/MsVault.json +960 -0
- package/data/epochs/189/MyLastMatch.json +9 -0
- package/data/epochs/189/Nostromo.json +977 -0
- package/data/epochs/189/QBond.json +588 -0
- package/data/epochs/189/QIP.json +285 -0
- package/data/epochs/189/QUtil.json +649 -0
- package/data/epochs/189/QVAULT.json +285 -0
- package/data/epochs/189/Qbay.json +1324 -0
- package/data/epochs/189/Qdraw.json +119 -0
- package/data/epochs/189/Qearn.json +359 -0
- package/data/epochs/189/Qswap.json +754 -0
- package/data/epochs/189/Quottery.json +395 -0
- package/data/epochs/189/Qx.json +504 -0
- package/data/epochs/189/Random.json +32 -0
- package/data/epochs/189/RandomLottery.json +343 -0
- package/data/epochs/189/SupplyWatcher.json +9 -0
- package/data/epochs/190/ComputorControlledFund.json +452 -0
- package/data/epochs/190/GeneralQuorumProposal.json +427 -0
- package/data/epochs/190/MsVault.json +960 -0
- package/data/epochs/190/MyLastMatch.json +9 -0
- package/data/epochs/190/Nostromo.json +977 -0
- package/data/epochs/190/QBond.json +588 -0
- package/data/epochs/190/QIP.json +285 -0
- package/data/epochs/190/QUtil.json +649 -0
- package/data/epochs/190/QVAULT.json +285 -0
- package/data/epochs/190/Qbay.json +1324 -0
- package/data/epochs/190/Qdraw.json +119 -0
- package/data/epochs/190/Qearn.json +359 -0
- package/data/epochs/190/Qswap.json +754 -0
- package/data/epochs/190/Quottery.json +395 -0
- package/data/epochs/190/Qx.json +504 -0
- package/data/epochs/190/Random.json +32 -0
- package/data/epochs/190/RandomLottery.json +343 -0
- package/data/epochs/190/SupplyWatcher.json +9 -0
- package/data/epochs/191/ComputorControlledFund.json +452 -0
- package/data/epochs/191/GeneralQuorumProposal.json +427 -0
- package/data/epochs/191/MsVault.json +960 -0
- package/data/epochs/191/MyLastMatch.json +9 -0
- package/data/epochs/191/Nostromo.json +977 -0
- package/data/epochs/191/QBond.json +588 -0
- package/data/epochs/191/QIP.json +285 -0
- package/data/epochs/191/QUtil.json +649 -0
- package/data/epochs/191/QVAULT.json +285 -0
- package/data/epochs/191/Qbay.json +1324 -0
- package/data/epochs/191/Qdraw.json +119 -0
- package/data/epochs/191/Qearn.json +359 -0
- package/data/epochs/191/Qswap.json +766 -0
- package/data/epochs/191/Quottery.json +395 -0
- package/data/epochs/191/Qx.json +504 -0
- package/data/epochs/191/Random.json +32 -0
- package/data/epochs/191/RandomLottery.json +343 -0
- package/data/epochs/191/SupplyWatcher.json +9 -0
- package/data/epochs/192/ComputorControlledFund.json +711 -0
- package/data/epochs/192/GeneralQuorumProposal.json +427 -0
- package/data/epochs/192/MsVault.json +960 -0
- package/data/epochs/192/MyLastMatch.json +9 -0
- package/data/epochs/192/Nostromo.json +977 -0
- package/data/epochs/192/QBond.json +588 -0
- package/data/epochs/192/QIP.json +285 -0
- package/data/epochs/192/QRaffle.json +662 -0
- package/data/epochs/192/QUtil.json +649 -0
- package/data/epochs/192/QVAULT.json +285 -0
- package/data/epochs/192/Qbay.json +1324 -0
- package/data/epochs/192/Qdraw.json +119 -0
- package/data/epochs/192/Qearn.json +359 -0
- package/data/epochs/192/Qswap.json +766 -0
- package/data/epochs/192/Quottery.json +395 -0
- package/data/epochs/192/Qx.json +504 -0
- package/data/epochs/192/Random.json +32 -0
- package/data/epochs/192/RandomLottery.json +343 -0
- package/data/epochs/192/SupplyWatcher.json +9 -0
- package/data/epochs/193/ComputorControlledFund.json +711 -0
- package/data/epochs/193/GeneralQuorumProposal.json +427 -0
- package/data/epochs/193/MsVault.json +960 -0
- package/data/epochs/193/MyLastMatch.json +9 -0
- package/data/epochs/193/Nostromo.json +977 -0
- package/data/epochs/193/QBond.json +588 -0
- package/data/epochs/193/QIP.json +285 -0
- package/data/epochs/193/QRaffle.json +662 -0
- package/data/epochs/193/QUtil.json +649 -0
- package/data/epochs/193/QVAULT.json +285 -0
- package/data/epochs/193/Qbay.json +1324 -0
- package/data/epochs/193/Qdraw.json +119 -0
- package/data/epochs/193/Qearn.json +359 -0
- package/data/epochs/193/Qswap.json +766 -0
- package/data/epochs/193/Quottery.json +395 -0
- package/data/epochs/193/Qx.json +504 -0
- package/data/epochs/193/Random.json +32 -0
- package/data/epochs/193/RandomLottery.json +343 -0
- package/data/epochs/193/SupplyWatcher.json +9 -0
- package/data/epochs/194/ComputorControlledFund.json +711 -0
- package/data/epochs/194/GeneralQuorumProposal.json +427 -0
- package/data/epochs/194/MsVault.json +960 -0
- package/data/epochs/194/MyLastMatch.json +9 -0
- package/data/epochs/194/Nostromo.json +977 -0
- package/data/epochs/194/QBond.json +588 -0
- package/data/epochs/194/QIP.json +285 -0
- package/data/epochs/194/QRaffle.json +662 -0
- package/data/epochs/194/QUtil.json +649 -0
- package/data/epochs/194/QVAULT.json +285 -0
- package/data/epochs/194/Qbay.json +1324 -0
- package/data/epochs/194/Qdraw.json +119 -0
- package/data/epochs/194/Qearn.json +359 -0
- package/data/epochs/194/Qswap.json +766 -0
- package/data/epochs/194/Quottery.json +395 -0
- package/data/epochs/194/Qx.json +504 -0
- package/data/epochs/194/Random.json +32 -0
- package/data/epochs/194/RandomLottery.json +343 -0
- package/data/epochs/194/SupplyWatcher.json +9 -0
- package/data/epochs/195/ComputorControlledFund.json +711 -0
- package/data/epochs/195/GeneralQuorumProposal.json +427 -0
- package/data/epochs/195/MsVault.json +960 -0
- package/data/epochs/195/MyLastMatch.json +9 -0
- package/data/epochs/195/Nostromo.json +977 -0
- package/data/epochs/195/QBond.json +588 -0
- package/data/epochs/195/QIP.json +285 -0
- package/data/epochs/195/QRaffle.json +662 -0
- package/data/epochs/195/QUtil.json +649 -0
- package/data/epochs/195/QVAULT.json +285 -0
- package/data/epochs/195/Qbay.json +1324 -0
- package/data/epochs/195/Qdraw.json +119 -0
- package/data/epochs/195/Qearn.json +359 -0
- package/data/epochs/195/Qswap.json +766 -0
- package/data/epochs/195/Quottery.json +395 -0
- package/data/epochs/195/Qx.json +504 -0
- package/data/epochs/195/Random.json +32 -0
- package/data/epochs/195/RandomLottery.json +343 -0
- package/data/epochs/195/SupplyWatcher.json +9 -0
- package/data/epochs/196/ComputorControlledFund.json +711 -0
- package/data/epochs/196/GeneralQuorumProposal.json +427 -0
- package/data/epochs/196/MsVault.json +960 -0
- package/data/epochs/196/MyLastMatch.json +9 -0
- package/data/epochs/196/Nostromo.json +977 -0
- package/data/epochs/196/QBond.json +588 -0
- package/data/epochs/196/QIP.json +285 -0
- package/data/epochs/196/QRaffle.json +662 -0
- package/data/epochs/196/QUtil.json +649 -0
- package/data/epochs/196/QVAULT.json +285 -0
- package/data/epochs/196/Qbay.json +1324 -0
- package/data/epochs/196/Qdraw.json +119 -0
- package/data/epochs/196/Qearn.json +359 -0
- package/data/epochs/196/Qswap.json +766 -0
- package/data/epochs/196/Quottery.json +395 -0
- package/data/epochs/196/Qx.json +504 -0
- package/data/epochs/196/Random.json +32 -0
- package/data/epochs/196/RandomLottery.json +343 -0
- package/data/epochs/196/SupplyWatcher.json +9 -0
- package/data/epochs/197/ComputorControlledFund.json +711 -0
- package/data/epochs/197/GeneralQuorumProposal.json +427 -0
- package/data/epochs/197/MsVault.json +960 -0
- package/data/epochs/197/MyLastMatch.json +9 -0
- package/data/epochs/197/Nostromo.json +977 -0
- package/data/epochs/197/QBond.json +588 -0
- package/data/epochs/197/QIP.json +285 -0
- package/data/epochs/197/QRaffle.json +662 -0
- package/data/epochs/197/QUtil.json +649 -0
- package/data/epochs/197/QVAULT.json +285 -0
- package/data/epochs/197/Qbay.json +1324 -0
- package/data/epochs/197/Qdraw.json +119 -0
- package/data/epochs/197/Qearn.json +359 -0
- package/data/epochs/197/Qswap.json +766 -0
- package/data/epochs/197/Quottery.json +395 -0
- package/data/epochs/197/Qx.json +504 -0
- package/data/epochs/197/Random.json +32 -0
- package/data/epochs/197/RandomLottery.json +343 -0
- package/data/epochs/197/SupplyWatcher.json +9 -0
- package/data/epochs/197/qRWA.json +623 -0
- package/data/epochs/198/ComputorControlledFund.json +711 -0
- package/data/epochs/198/GeneralQuorumProposal.json +427 -0
- package/data/epochs/198/MsVault.json +960 -0
- package/data/epochs/198/MyLastMatch.json +9 -0
- package/data/epochs/198/Nostromo.json +977 -0
- package/data/epochs/198/QBond.json +588 -0
- package/data/epochs/198/QIP.json +285 -0
- package/data/epochs/198/QRaffle.json +662 -0
- package/data/epochs/198/QUtil.json +649 -0
- package/data/epochs/198/QVAULT.json +285 -0
- package/data/epochs/198/Qbay.json +1324 -0
- package/data/epochs/198/Qdraw.json +119 -0
- package/data/epochs/198/Qearn.json +359 -0
- package/data/epochs/198/Qswap.json +766 -0
- package/data/epochs/198/Quottery.json +395 -0
- package/data/epochs/198/Qx.json +504 -0
- package/data/epochs/198/Random.json +32 -0
- package/data/epochs/198/RandomLottery.json +343 -0
- package/data/epochs/198/SupplyWatcher.json +9 -0
- package/data/epochs/198/qRWA.json +623 -0
- package/data/epochs/199/ComputorControlledFund.json +711 -0
- package/data/epochs/199/GeneralQuorumProposal.json +427 -0
- package/data/epochs/199/MsVault.json +960 -0
- package/data/epochs/199/MyLastMatch.json +9 -0
- package/data/epochs/199/Nostromo.json +977 -0
- package/data/epochs/199/QBond.json +588 -0
- package/data/epochs/199/QDuel.json +355 -0
- package/data/epochs/199/QIP.json +285 -0
- package/data/epochs/199/QRaffle.json +662 -0
- package/data/epochs/199/QReservePool.json +121 -0
- package/data/epochs/199/QThirtyFour.json +458 -0
- package/data/epochs/199/QUtil.json +649 -0
- package/data/epochs/199/QVAULT.json +285 -0
- package/data/epochs/199/Qbay.json +1324 -0
- package/data/epochs/199/Qdraw.json +119 -0
- package/data/epochs/199/Qearn.json +359 -0
- package/data/epochs/199/Qswap.json +766 -0
- package/data/epochs/199/Quottery.json +395 -0
- package/data/epochs/199/Qx.json +504 -0
- package/data/epochs/199/Random.json +32 -0
- package/data/epochs/199/RandomLottery.json +343 -0
- package/data/epochs/199/SupplyWatcher.json +9 -0
- package/data/epochs/199/qRWA.json +623 -0
- package/data/epochs/200/ComputorControlledFund.json +711 -0
- package/data/epochs/200/GeneralQuorumProposal.json +427 -0
- package/data/epochs/200/MsVault.json +960 -0
- package/data/epochs/200/MyLastMatch.json +9 -0
- package/data/epochs/200/Nostromo.json +977 -0
- package/data/epochs/200/QBond.json +588 -0
- package/data/epochs/200/QDuel.json +355 -0
- package/data/epochs/200/QIP.json +285 -0
- package/data/epochs/200/QRaffle.json +662 -0
- package/data/epochs/200/QReservePool.json +121 -0
- package/data/epochs/200/QThirtyFour.json +458 -0
- package/data/epochs/200/QUtil.json +649 -0
- package/data/epochs/200/QVAULT.json +285 -0
- package/data/epochs/200/Qbay.json +1324 -0
- package/data/epochs/200/Qdraw.json +119 -0
- package/data/epochs/200/Qearn.json +359 -0
- package/data/epochs/200/Qswap.json +766 -0
- package/data/epochs/200/Quottery.json +395 -0
- package/data/epochs/200/Qx.json +504 -0
- package/data/epochs/200/Random.json +32 -0
- package/data/epochs/200/RandomLottery.json +343 -0
- package/data/epochs/200/SupplyWatcher.json +9 -0
- package/data/epochs/200/qRWA.json +623 -0
- package/data/epochs/201/ComputorControlledFund.json +711 -0
- package/data/epochs/201/GeneralQuorumProposal.json +427 -0
- package/data/epochs/201/MsVault.json +960 -0
- package/data/epochs/201/MyLastMatch.json +9 -0
- package/data/epochs/201/Nostromo.json +977 -0
- package/data/epochs/201/QBond.json +588 -0
- package/data/epochs/201/QDuel.json +431 -0
- package/data/epochs/201/QIP.json +285 -0
- package/data/epochs/201/QRaffle.json +662 -0
- package/data/epochs/201/QReservePool.json +150 -0
- package/data/epochs/201/QThirtyFour.json +458 -0
- package/data/epochs/201/QUtil.json +649 -0
- package/data/epochs/201/QVAULT.json +285 -0
- package/data/epochs/201/Qbay.json +1324 -0
- package/data/epochs/201/Qdraw.json +119 -0
- package/data/epochs/201/Qearn.json +359 -0
- package/data/epochs/201/Qswap.json +760 -0
- package/data/epochs/201/Quottery.json +395 -0
- package/data/epochs/201/Qx.json +504 -0
- package/data/epochs/201/Random.json +32 -0
- package/data/epochs/201/RandomLottery.json +343 -0
- package/data/epochs/201/SupplyWatcher.json +9 -0
- package/data/epochs/201/qRWA.json +623 -0
- package/data/epochs/202/ComputorControlledFund.json +711 -0
- package/data/epochs/202/GeneralQuorumProposal.json +427 -0
- package/data/epochs/202/MsVault.json +960 -0
- package/data/epochs/202/MyLastMatch.json +9 -0
- package/data/epochs/202/Nostromo.json +977 -0
- package/data/epochs/202/QBond.json +588 -0
- package/data/epochs/202/QDuel.json +486 -0
- package/data/epochs/202/QIP.json +285 -0
- package/data/epochs/202/QRaffle.json +662 -0
- package/data/epochs/202/QReservePool.json +150 -0
- package/data/epochs/202/QThirtyFour.json +560 -0
- package/data/epochs/202/QUtil.json +649 -0
- package/data/epochs/202/QVAULT.json +285 -0
- package/data/epochs/202/Qbay.json +1324 -0
- package/data/epochs/202/Qdraw.json +119 -0
- package/data/epochs/202/Qearn.json +359 -0
- package/data/epochs/202/Qswap.json +760 -0
- package/data/epochs/202/Quottery.json +395 -0
- package/data/epochs/202/Qx.json +504 -0
- package/data/epochs/202/Random.json +32 -0
- package/data/epochs/202/RandomLottery.json +343 -0
- package/data/epochs/202/SupplyWatcher.json +9 -0
- package/data/epochs/202/qRWA.json +623 -0
- package/data/epochs/203/ComputorControlledFund.json +711 -0
- package/data/epochs/203/GeneralQuorumProposal.json +427 -0
- package/data/epochs/203/MsVault.json +960 -0
- package/data/epochs/203/MyLastMatch.json +9 -0
- package/data/epochs/203/Nostromo.json +977 -0
- package/data/epochs/203/QBond.json +588 -0
- package/data/epochs/203/QDuel.json +486 -0
- package/data/epochs/203/QIP.json +285 -0
- package/data/epochs/203/QRaffle.json +668 -0
- package/data/epochs/203/QReservePool.json +150 -0
- package/data/epochs/203/QThirtyFour.json +560 -0
- package/data/epochs/203/QUtil.json +649 -0
- package/data/epochs/203/QVAULT.json +285 -0
- package/data/epochs/203/Qbay.json +1324 -0
- package/data/epochs/203/Qdraw.json +119 -0
- package/data/epochs/203/Qearn.json +359 -0
- package/data/epochs/203/Qswap.json +760 -0
- package/data/epochs/203/Quottery.json +395 -0
- package/data/epochs/203/Qx.json +504 -0
- package/data/epochs/203/Random.json +32 -0
- package/data/epochs/203/RandomLottery.json +343 -0
- package/data/epochs/203/SupplyWatcher.json +9 -0
- package/data/epochs/203/qRWA.json +623 -0
- package/data/epochs/204/ComputorControlledFund.json +711 -0
- package/data/epochs/204/GeneralQuorumProposal.json +427 -0
- package/data/epochs/204/MsVault.json +960 -0
- package/data/epochs/204/MyLastMatch.json +9 -0
- package/data/epochs/204/Nostromo.json +977 -0
- package/data/epochs/204/Pulse.json +576 -0
- package/data/epochs/204/QBond.json +582 -0
- package/data/epochs/204/QDuel.json +486 -0
- package/data/epochs/204/QIP.json +285 -0
- package/data/epochs/204/QRaffle.json +668 -0
- package/data/epochs/204/QReservePool.json +150 -0
- package/data/epochs/204/QThirtyFour.json +560 -0
- package/data/epochs/204/QUtil.json +781 -0
- package/data/epochs/204/QVAULT.json +1738 -0
- package/data/epochs/204/Qbay.json +1324 -0
- package/data/epochs/204/Qdraw.json +119 -0
- package/data/epochs/204/Qearn.json +359 -0
- package/data/epochs/204/Qswap.json +760 -0
- package/data/epochs/204/Quottery.json +395 -0
- package/data/epochs/204/Qx.json +504 -0
- package/data/epochs/204/Random.json +32 -0
- package/data/epochs/204/RandomLottery.json +343 -0
- package/data/epochs/204/SupplyWatcher.json +9 -0
- package/data/epochs/204/qRWA.json +623 -0
- package/data/epochs/205/ComputorControlledFund.json +711 -0
- package/data/epochs/205/GeneralQuorumProposal.json +427 -0
- package/data/epochs/205/MsVault.json +960 -0
- package/data/epochs/205/MyLastMatch.json +9 -0
- package/data/epochs/205/Nostromo.json +977 -0
- package/data/epochs/205/Pulse.json +576 -0
- package/data/epochs/205/QBond.json +582 -0
- package/data/epochs/205/QDuel.json +486 -0
- package/data/epochs/205/QIP.json +285 -0
- package/data/epochs/205/QRaffle.json +668 -0
- package/data/epochs/205/QReservePool.json +150 -0
- package/data/epochs/205/QThirtyFour.json +560 -0
- package/data/epochs/205/QUtil.json +781 -0
- package/data/epochs/205/QVAULT.json +1738 -0
- package/data/epochs/205/Qbay.json +1324 -0
- package/data/epochs/205/Qdraw.json +119 -0
- package/data/epochs/205/Qearn.json +359 -0
- package/data/epochs/205/Qswap.json +760 -0
- package/data/epochs/205/Quottery.json +395 -0
- package/data/epochs/205/Qx.json +504 -0
- package/data/epochs/205/Random.json +32 -0
- package/data/epochs/205/RandomLottery.json +343 -0
- package/data/epochs/205/SupplyWatcher.json +9 -0
- package/data/epochs/205/qRWA.json +623 -0
- package/data/epochs/206/ComputorControlledFund.json +711 -0
- package/data/epochs/206/GeneralQuorumProposal.json +427 -0
- package/data/epochs/206/MsVault.json +960 -0
- package/data/epochs/206/MyLastMatch.json +9 -0
- package/data/epochs/206/Nostromo.json +977 -0
- package/data/epochs/206/Pulse.json +576 -0
- package/data/epochs/206/QBond.json +582 -0
- package/data/epochs/206/QDuel.json +486 -0
- package/data/epochs/206/QIP.json +285 -0
- package/data/epochs/206/QRaffle.json +668 -0
- package/data/epochs/206/QReservePool.json +150 -0
- package/data/epochs/206/QThirtyFour.json +630 -0
- package/data/epochs/206/QUtil.json +781 -0
- package/data/epochs/206/QVAULT.json +1738 -0
- package/data/epochs/206/Qbay.json +1324 -0
- package/data/epochs/206/Qdraw.json +119 -0
- package/data/epochs/206/Qearn.json +359 -0
- package/data/epochs/206/Qswap.json +760 -0
- package/data/epochs/206/Quottery.json +395 -0
- package/data/epochs/206/Qx.json +504 -0
- package/data/epochs/206/Random.json +32 -0
- package/data/epochs/206/RandomLottery.json +343 -0
- package/data/epochs/206/SupplyWatcher.json +9 -0
- package/data/epochs/206/VottunBridge.json +738 -0
- package/data/epochs/206/qRWA.json +623 -0
- package/data/epochs/207/ComputorControlledFund.json +711 -0
- package/data/epochs/207/GeneralQuorumProposal.json +427 -0
- package/data/epochs/207/MsVault.json +960 -0
- package/data/epochs/207/MyLastMatch.json +9 -0
- package/data/epochs/207/Nostromo.json +920 -0
- package/data/epochs/207/Pulse.json +793 -0
- package/data/epochs/207/QBond.json +496 -0
- package/data/epochs/207/QDuel.json +479 -0
- package/data/epochs/207/QIP.json +285 -0
- package/data/epochs/207/QRaffle.json +655 -0
- package/data/epochs/207/QReservePool.json +150 -0
- package/data/epochs/207/QThirtyFour.json +606 -0
- package/data/epochs/207/QUtil.json +781 -0
- package/data/epochs/207/QVAULT.json +1738 -0
- package/data/epochs/207/Qbay.json +1324 -0
- package/data/epochs/207/Qdraw.json +119 -0
- package/data/epochs/207/Qearn.json +359 -0
- package/data/epochs/207/Qswap.json +760 -0
- package/data/epochs/207/Quottery.json +395 -0
- package/data/epochs/207/Qx.json +504 -0
- package/data/epochs/207/Random.json +32 -0
- package/data/epochs/207/RandomLottery.json +343 -0
- package/data/epochs/207/SupplyWatcher.json +9 -0
- package/data/epochs/207/VottunBridge.json +738 -0
- package/data/epochs/207/qRWA.json +623 -0
- package/data/epochs/208/ComputorControlledFund.json +711 -0
- package/data/epochs/208/GeneralQuorumProposal.json +427 -0
- package/data/epochs/208/MsVault.json +960 -0
- package/data/epochs/208/MyLastMatch.json +9 -0
- package/data/epochs/208/Nostromo.json +920 -0
- package/data/epochs/208/Pulse.json +816 -0
- package/data/epochs/208/QBond.json +496 -0
- package/data/epochs/208/QDuel.json +479 -0
- package/data/epochs/208/QIP.json +285 -0
- package/data/epochs/208/QRaffle.json +655 -0
- package/data/epochs/208/QReservePool.json +150 -0
- package/data/epochs/208/QThirtyFour.json +606 -0
- package/data/epochs/208/QUtil.json +781 -0
- package/data/epochs/208/QVAULT.json +1738 -0
- package/data/epochs/208/Qbay.json +1324 -0
- package/data/epochs/208/Qdraw.json +119 -0
- package/data/epochs/208/Qearn.json +359 -0
- package/data/epochs/208/Qswap.json +760 -0
- package/data/epochs/208/Quottery.json +395 -0
- package/data/epochs/208/Qusino.json +454 -0
- package/data/epochs/208/Qx.json +414 -0
- package/data/epochs/208/Random.json +32 -0
- package/data/epochs/208/RandomLottery.json +343 -0
- package/data/epochs/208/SupplyWatcher.json +9 -0
- package/data/epochs/208/VottunBridge.json +738 -0
- package/data/epochs/208/qRWA.json +623 -0
- package/data/epochs/209/ComputorControlledFund.json +711 -0
- package/data/epochs/209/GeneralQuorumProposal.json +427 -0
- package/data/epochs/209/MsVault.json +960 -0
- package/data/epochs/209/MyLastMatch.json +9 -0
- package/data/epochs/209/Nostromo.json +977 -0
- package/data/epochs/209/Pulse.json +835 -0
- package/data/epochs/209/QBond.json +582 -0
- package/data/epochs/209/QDuel.json +498 -0
- package/data/epochs/209/QIP.json +285 -0
- package/data/epochs/209/QRaffle.json +668 -0
- package/data/epochs/209/QReservePool.json +150 -0
- package/data/epochs/209/QThirtyFour.json +657 -0
- package/data/epochs/209/QUtil.json +810 -0
- package/data/epochs/209/QVAULT.json +1738 -0
- package/data/epochs/209/Qbay.json +1324 -0
- package/data/epochs/209/Qdraw.json +119 -0
- package/data/epochs/209/Qearn.json +359 -0
- package/data/epochs/209/Qswap.json +766 -0
- package/data/epochs/209/Quottery.json +395 -0
- package/data/epochs/209/Qusino.json +454 -0
- package/data/epochs/209/Qx.json +414 -0
- package/data/epochs/209/Random.json +32 -0
- package/data/epochs/209/RandomLottery.json +343 -0
- package/data/epochs/209/SupplyWatcher.json +9 -0
- package/data/epochs/209/VottunBridge.json +738 -0
- package/data/epochs/209/qRWA.json +623 -0
- package/data/epochs/210/ComputorControlledFund.json +711 -0
- package/data/epochs/210/Escrow.json +366 -0
- package/data/epochs/210/GeneralQuorumProposal.json +427 -0
- package/data/epochs/210/MsVault.json +960 -0
- package/data/epochs/210/MyLastMatch.json +9 -0
- package/data/epochs/210/Nostromo.json +977 -0
- package/data/epochs/210/Pulse.json +835 -0
- package/data/epochs/210/QBond.json +582 -0
- package/data/epochs/210/QDuel.json +498 -0
- package/data/epochs/210/QIP.json +285 -0
- package/data/epochs/210/QRaffle.json +668 -0
- package/data/epochs/210/QReservePool.json +150 -0
- package/data/epochs/210/QThirtyFour.json +657 -0
- package/data/epochs/210/QUtil.json +887 -0
- package/data/epochs/210/QVAULT.json +1738 -0
- package/data/epochs/210/Qbay.json +1324 -0
- package/data/epochs/210/Qdraw.json +119 -0
- package/data/epochs/210/Qearn.json +359 -0
- package/data/epochs/210/Qswap.json +766 -0
- package/data/epochs/210/Quottery.json +978 -0
- package/data/epochs/210/Qusino.json +454 -0
- package/data/epochs/210/Qx.json +504 -0
- package/data/epochs/210/Random.json +32 -0
- package/data/epochs/210/RandomLottery.json +343 -0
- package/data/epochs/210/SupplyWatcher.json +9 -0
- package/data/epochs/210/VottunBridge.json +738 -0
- package/data/epochs/210/qRWA.json +623 -0
- package/data/epochs/211/ComputorControlledFund.json +711 -0
- package/data/epochs/211/Escrow.json +366 -0
- package/data/epochs/211/GeneralQuorumProposal.json +427 -0
- package/data/epochs/211/MsVault.json +960 -0
- package/data/epochs/211/MyLastMatch.json +9 -0
- package/data/epochs/211/Nostromo.json +977 -0
- package/data/epochs/211/Pulse.json +835 -0
- package/data/epochs/211/QBond.json +582 -0
- package/data/epochs/211/QDuel.json +498 -0
- package/data/epochs/211/QIP.json +285 -0
- package/data/epochs/211/QRaffle.json +668 -0
- package/data/epochs/211/QReservePool.json +150 -0
- package/data/epochs/211/QThirtyFour.json +657 -0
- package/data/epochs/211/QUtil.json +887 -0
- package/data/epochs/211/QVAULT.json +1738 -0
- package/data/epochs/211/Qbay.json +1324 -0
- package/data/epochs/211/Qdraw.json +119 -0
- package/data/epochs/211/Qearn.json +359 -0
- package/data/epochs/211/Qswap.json +766 -0
- package/data/epochs/211/Quottery.json +978 -0
- package/data/epochs/211/Qusino.json +454 -0
- package/data/epochs/211/Qx.json +504 -0
- package/data/epochs/211/Random.json +32 -0
- package/data/epochs/211/RandomLottery.json +343 -0
- package/data/epochs/211/SupplyWatcher.json +9 -0
- package/data/epochs/211/VottunBridge.json +738 -0
- package/data/epochs/211/qRWA.json +623 -0
- package/data/epochs/212/ComputorControlledFund.json +711 -0
- package/data/epochs/212/Escrow.json +366 -0
- package/data/epochs/212/GeneralQuorumProposal.json +427 -0
- package/data/epochs/212/MsVault.json +960 -0
- package/data/epochs/212/MyLastMatch.json +9 -0
- package/data/epochs/212/Nostromo.json +977 -0
- package/data/epochs/212/Pulse.json +835 -0
- package/data/epochs/212/QBond.json +582 -0
- package/data/epochs/212/QDuel.json +498 -0
- package/data/epochs/212/QIP.json +285 -0
- package/data/epochs/212/QRaffle.json +668 -0
- package/data/epochs/212/QReservePool.json +150 -0
- package/data/epochs/212/QThirtyFour.json +657 -0
- package/data/epochs/212/QUtil.json +887 -0
- package/data/epochs/212/QVAULT.json +1738 -0
- package/data/epochs/212/Qbay.json +1324 -0
- package/data/epochs/212/Qdraw.json +119 -0
- package/data/epochs/212/Qearn.json +359 -0
- package/data/epochs/212/Qswap.json +766 -0
- package/data/epochs/212/Quottery.json +978 -0
- package/data/epochs/212/Qusino.json +454 -0
- package/data/epochs/212/Qx.json +504 -0
- package/data/epochs/212/Random.json +32 -0
- package/data/epochs/212/RandomLottery.json +343 -0
- package/data/epochs/212/SupplyWatcher.json +9 -0
- package/data/epochs/212/VottunBridge.json +738 -0
- package/data/epochs/212/qRWA.json +876 -0
- package/data/epochs/213/ComputorControlledFund.json +711 -0
- package/data/epochs/213/Escrow.json +366 -0
- package/data/epochs/213/GeneralQuorumProposal.json +427 -0
- package/data/epochs/213/MsVault.json +960 -0
- package/data/epochs/213/MyLastMatch.json +9 -0
- package/data/epochs/213/Nostromo.json +977 -0
- package/data/epochs/213/Pulse.json +835 -0
- package/data/epochs/213/QBond.json +582 -0
- package/data/epochs/213/QDuel.json +498 -0
- package/data/epochs/213/QIP.json +285 -0
- package/data/epochs/213/QRaffle.json +668 -0
- package/data/epochs/213/QReservePool.json +150 -0
- package/data/epochs/213/QThirtyFour.json +657 -0
- package/data/epochs/213/QUtil.json +887 -0
- package/data/epochs/213/QVAULT.json +1738 -0
- package/data/epochs/213/Qbay.json +1324 -0
- package/data/epochs/213/Qdraw.json +119 -0
- package/data/epochs/213/Qearn.json +359 -0
- package/data/epochs/213/Qswap.json +766 -0
- package/data/epochs/213/Quottery.json +978 -0
- package/data/epochs/213/Qusino.json +454 -0
- package/data/epochs/213/Qx.json +504 -0
- package/data/epochs/213/Random.json +32 -0
- package/data/epochs/213/RandomLottery.json +343 -0
- package/data/epochs/213/SupplyWatcher.json +9 -0
- package/data/epochs/213/VottunBridge.json +738 -0
- package/data/epochs/213/qRWA.json +876 -0
- package/data/registry.json +45318 -0
- package/data/schema.json +197 -0
- package/dist/client.d.ts +28 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +102 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/payload.d.ts +46 -0
- package/dist/payload.d.ts.map +1 -0
- package/dist/payload.js +305 -0
- package/dist/payload.js.map +1 -0
- package/dist/registry.d.ts +48 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +151 -0
- package/dist/registry.js.map +1 -0
- package/dist/types.d.ts +80 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +42 -0
package/dist/payload.js
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
export class PayloadBuildError extends Error {
|
|
2
|
+
constructor(message, options) {
|
|
3
|
+
super(message, { cause: options?.cause });
|
|
4
|
+
this.name = 'PayloadBuildError';
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Encodes a contract call input into binary using registry field descriptors.
|
|
9
|
+
*
|
|
10
|
+
* Field encoding rules:
|
|
11
|
+
* uint8/16/32 → DataView.setUintN (little-endian)
|
|
12
|
+
* uint64/sint64 → DataView.setBigUint64 / setBigInt64 (little-endian)
|
|
13
|
+
* uint128 → two consecutive uint64 LE (lo word first, hi word second)
|
|
14
|
+
* id → 32-byte public key via injected identityToPublicKey
|
|
15
|
+
* bytes → Uint8Array copied verbatim (must be exactly field.byteLength)
|
|
16
|
+
* struct → recursively encoded using structs[field.structRef].fields
|
|
17
|
+
* array → N items encoded sequentially
|
|
18
|
+
*
|
|
19
|
+
* Advanced mode: pass a Uint8Array as the value for any field. Its length must
|
|
20
|
+
* equal field.byteLength — it is copied verbatim without type coercion.
|
|
21
|
+
*
|
|
22
|
+
* @throws {PayloadBuildError} on type mismatch, out-of-range value, or length mismatch
|
|
23
|
+
*/
|
|
24
|
+
export function buildPayload(fields, structs, input, identityToPublicKey) {
|
|
25
|
+
const totalSize = fields.reduce((s, f) => s + f.byteLength, 0);
|
|
26
|
+
const buf = new Uint8Array(totalSize);
|
|
27
|
+
const view = new DataView(buf.buffer);
|
|
28
|
+
for (const field of fields) {
|
|
29
|
+
const raw = input[field.name];
|
|
30
|
+
if (raw === undefined) {
|
|
31
|
+
throw new PayloadBuildError(`Missing field "${field.name}"`);
|
|
32
|
+
}
|
|
33
|
+
// Advanced mode: Uint8Array verbatim copy
|
|
34
|
+
if (raw instanceof Uint8Array) {
|
|
35
|
+
if (raw.byteLength !== field.byteLength) {
|
|
36
|
+
throw new PayloadBuildError(`Field "${field.name}": Uint8Array length ${raw.byteLength} !== expected ${field.byteLength}`);
|
|
37
|
+
}
|
|
38
|
+
buf.set(raw, field.offset);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
encodeField(field, raw, buf, view, field.offset, structs, identityToPublicKey);
|
|
42
|
+
}
|
|
43
|
+
return buf;
|
|
44
|
+
}
|
|
45
|
+
// ── Shared scalar encoder ─────────────────────────────────────────────────────
|
|
46
|
+
function writeScalar(type, fieldName, value, buf, view, offset, identityToPublicKey) {
|
|
47
|
+
switch (type) {
|
|
48
|
+
case 'uint8':
|
|
49
|
+
case 'sint8':
|
|
50
|
+
if (typeof value !== 'number')
|
|
51
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected number`);
|
|
52
|
+
view.setUint8(offset, value);
|
|
53
|
+
break;
|
|
54
|
+
case 'uint16':
|
|
55
|
+
case 'sint16':
|
|
56
|
+
if (typeof value !== 'number')
|
|
57
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected number`);
|
|
58
|
+
view.setUint16(offset, value, true);
|
|
59
|
+
break;
|
|
60
|
+
case 'uint32':
|
|
61
|
+
case 'sint32':
|
|
62
|
+
if (typeof value !== 'number')
|
|
63
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected number`);
|
|
64
|
+
view.setUint32(offset, value, true);
|
|
65
|
+
break;
|
|
66
|
+
case 'uint64':
|
|
67
|
+
if (typeof value !== 'bigint')
|
|
68
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected bigint`);
|
|
69
|
+
view.setBigUint64(offset, value, true);
|
|
70
|
+
break;
|
|
71
|
+
case 'sint64':
|
|
72
|
+
if (typeof value !== 'bigint')
|
|
73
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected bigint`);
|
|
74
|
+
view.setBigInt64(offset, value, true);
|
|
75
|
+
break;
|
|
76
|
+
case 'uint128': {
|
|
77
|
+
if (typeof value !== 'bigint')
|
|
78
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected bigint`);
|
|
79
|
+
view.setBigUint64(offset, value & 0xffffffffffffffffn, true);
|
|
80
|
+
view.setBigUint64(offset + 8, value >> 64n, true);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case 'id': {
|
|
84
|
+
if (typeof value !== 'string')
|
|
85
|
+
throw new PayloadBuildError(`Field "${fieldName}": expected Identity string`);
|
|
86
|
+
buf.set(identityToPublicKey(value).subarray(0, 32), offset);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
default:
|
|
90
|
+
throw new PayloadBuildError(`Scalar encoding not supported for type "${type}"`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// ── Shared scalar decoder ─────────────────────────────────────────────────────
|
|
94
|
+
function readScalar(type, data, view, offset, publicKeyToIdentity) {
|
|
95
|
+
switch (type) {
|
|
96
|
+
case 'uint8':
|
|
97
|
+
case 'sint8':
|
|
98
|
+
return view.getUint8(offset);
|
|
99
|
+
case 'uint16':
|
|
100
|
+
case 'sint16':
|
|
101
|
+
return view.getUint16(offset, true);
|
|
102
|
+
case 'uint32':
|
|
103
|
+
case 'sint32':
|
|
104
|
+
return view.getUint32(offset, true);
|
|
105
|
+
case 'uint64':
|
|
106
|
+
return view.getBigUint64(offset, true);
|
|
107
|
+
case 'sint64':
|
|
108
|
+
return view.getBigInt64(offset, true);
|
|
109
|
+
case 'uint128': {
|
|
110
|
+
const lo = view.getBigUint64(offset, true);
|
|
111
|
+
const hi = view.getBigUint64(offset + 8, true);
|
|
112
|
+
return lo + hi * 2n ** 64n;
|
|
113
|
+
}
|
|
114
|
+
case 'id':
|
|
115
|
+
return publicKeyToIdentity(data.subarray(offset, offset + 32));
|
|
116
|
+
default:
|
|
117
|
+
throw new PayloadBuildError(`Scalar decoding not supported for type "${type}"`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// ── Field encoder ─────────────────────────────────────────────────────────────
|
|
121
|
+
function encodeField(field, value, buf, view, offset, structs, identityToPublicKey) {
|
|
122
|
+
switch (field.type) {
|
|
123
|
+
case 'uint8':
|
|
124
|
+
case 'sint8':
|
|
125
|
+
case 'uint16':
|
|
126
|
+
case 'sint16':
|
|
127
|
+
case 'uint32':
|
|
128
|
+
case 'sint32':
|
|
129
|
+
case 'uint64':
|
|
130
|
+
case 'sint64':
|
|
131
|
+
case 'uint128':
|
|
132
|
+
case 'id':
|
|
133
|
+
writeScalar(field.type, field.name, value, buf, view, offset, identityToPublicKey);
|
|
134
|
+
break;
|
|
135
|
+
case 'bytes': {
|
|
136
|
+
if (!(value instanceof Uint8Array))
|
|
137
|
+
throw new PayloadBuildError(`Field "${field.name}": expected Uint8Array`);
|
|
138
|
+
if (value.byteLength !== field.byteLength)
|
|
139
|
+
throw new PayloadBuildError(`Field "${field.name}": Uint8Array length ${value.byteLength} !== expected ${field.byteLength}`);
|
|
140
|
+
buf.set(value, offset);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
case 'struct': {
|
|
144
|
+
if (field.structRef === undefined)
|
|
145
|
+
throw new PayloadBuildError(`Field "${field.name}": missing structRef`);
|
|
146
|
+
const namedStruct = structs[field.structRef];
|
|
147
|
+
if (!namedStruct)
|
|
148
|
+
throw new PayloadBuildError(`Field "${field.name}": struct "${field.structRef}" not found`);
|
|
149
|
+
if (typeof value !== 'object' ||
|
|
150
|
+
value === null ||
|
|
151
|
+
Array.isArray(value) ||
|
|
152
|
+
value instanceof Uint8Array)
|
|
153
|
+
throw new PayloadBuildError(`Field "${field.name}": expected object for struct`);
|
|
154
|
+
const nested = value;
|
|
155
|
+
for (const sf of namedStruct.fields) {
|
|
156
|
+
const sv = nested[sf.name];
|
|
157
|
+
if (sv === undefined)
|
|
158
|
+
throw new PayloadBuildError(`Struct field "${sf.name}" missing`);
|
|
159
|
+
encodeField(sf, sv, buf, view, offset + sf.offset, structs, identityToPublicKey);
|
|
160
|
+
}
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
case 'array': {
|
|
164
|
+
if (!Array.isArray(value))
|
|
165
|
+
throw new PayloadBuildError(`Field "${field.name}": expected array`);
|
|
166
|
+
if (field.arrayItemByteLength === undefined)
|
|
167
|
+
throw new PayloadBuildError(`Field "${field.name}": missing arrayItemByteLength`);
|
|
168
|
+
const itemLen = field.arrayItemByteLength;
|
|
169
|
+
const itemType = field.arrayItemType ?? 'uint8';
|
|
170
|
+
for (let i = 0; i < value.length; i++) {
|
|
171
|
+
const itemOffset = offset + i * itemLen;
|
|
172
|
+
if (field.arrayItemStructRef !== undefined) {
|
|
173
|
+
const namedStruct = structs[field.arrayItemStructRef];
|
|
174
|
+
if (!namedStruct)
|
|
175
|
+
throw new PayloadBuildError(`Field "${field.name}": struct item "${field.arrayItemStructRef}" not found`);
|
|
176
|
+
const itemVal = value[i];
|
|
177
|
+
for (const sf of namedStruct.fields) {
|
|
178
|
+
const sv = itemVal[sf.name];
|
|
179
|
+
if (sv === undefined)
|
|
180
|
+
throw new PayloadBuildError(`Array struct field "${sf.name}" missing`);
|
|
181
|
+
encodeField(sf, sv, buf, view, itemOffset + sf.offset, structs, identityToPublicKey);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
writeScalar(itemType, field.name, value[i], buf, view, itemOffset, identityToPublicKey);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
default:
|
|
191
|
+
throw new PayloadBuildError(`Unknown field type: ${field.type}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// ── Field decoder ─────────────────────────────────────────────────────────────
|
|
195
|
+
/**
|
|
196
|
+
* Decodes binary payload bytes into a typed record using registry field descriptors.
|
|
197
|
+
* Mirror of buildPayload — same field dispatch logic, reversed direction.
|
|
198
|
+
*/
|
|
199
|
+
export function decodePayload(data, fields, structs, publicKeyToIdentity) {
|
|
200
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
201
|
+
const result = {};
|
|
202
|
+
for (const field of fields) {
|
|
203
|
+
result[field.name] = decodeField(field, data, view, field.offset, structs, publicKeyToIdentity);
|
|
204
|
+
}
|
|
205
|
+
return result;
|
|
206
|
+
}
|
|
207
|
+
function decodeField(field, data, view, offset, structs, publicKeyToIdentity) {
|
|
208
|
+
switch (field.type) {
|
|
209
|
+
case 'uint8':
|
|
210
|
+
case 'sint8':
|
|
211
|
+
case 'uint16':
|
|
212
|
+
case 'sint16':
|
|
213
|
+
case 'uint32':
|
|
214
|
+
case 'sint32':
|
|
215
|
+
case 'uint64':
|
|
216
|
+
case 'sint64':
|
|
217
|
+
case 'uint128':
|
|
218
|
+
case 'id':
|
|
219
|
+
return readScalar(field.type, data, view, offset, publicKeyToIdentity);
|
|
220
|
+
case 'bytes':
|
|
221
|
+
return data.slice(offset, offset + field.byteLength);
|
|
222
|
+
case 'struct': {
|
|
223
|
+
if (field.structRef === undefined)
|
|
224
|
+
throw new PayloadBuildError(`Field "${field.name}": missing structRef`);
|
|
225
|
+
const namedStruct = structs[field.structRef];
|
|
226
|
+
if (!namedStruct)
|
|
227
|
+
throw new PayloadBuildError(`Field "${field.name}": struct "${field.structRef}" not found`);
|
|
228
|
+
const nested = {};
|
|
229
|
+
for (const sf of namedStruct.fields) {
|
|
230
|
+
nested[sf.name] = decodeField(sf, data, view, offset + sf.offset, structs, publicKeyToIdentity);
|
|
231
|
+
}
|
|
232
|
+
return nested;
|
|
233
|
+
}
|
|
234
|
+
case 'array': {
|
|
235
|
+
if (field.arrayLength === undefined)
|
|
236
|
+
throw new PayloadBuildError(`Field "${field.name}": missing arrayLength`);
|
|
237
|
+
const items = [];
|
|
238
|
+
const itemLen = field.arrayItemByteLength ?? 0;
|
|
239
|
+
const itemType = field.arrayItemType ?? 'uint8';
|
|
240
|
+
for (let i = 0; i < field.arrayLength; i++) {
|
|
241
|
+
const itemOffset = offset + i * itemLen;
|
|
242
|
+
if (field.arrayItemStructRef !== undefined) {
|
|
243
|
+
const namedStruct = structs[field.arrayItemStructRef];
|
|
244
|
+
if (namedStruct) {
|
|
245
|
+
const nested = {};
|
|
246
|
+
for (const sf of namedStruct.fields) {
|
|
247
|
+
nested[sf.name] = decodeField(sf, data, view, itemOffset + sf.offset, structs, publicKeyToIdentity);
|
|
248
|
+
}
|
|
249
|
+
items.push(nested);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
items.push(readScalar(itemType, data, view, itemOffset, publicKeyToIdentity));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return items;
|
|
257
|
+
}
|
|
258
|
+
default:
|
|
259
|
+
throw new PayloadBuildError(`Unknown field type: ${field.type}`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Builds a payload from an ordered list of typed fields — no registry, no field names.
|
|
264
|
+
* For use with unknown or custom contracts.
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* const payload = buildPayloadManual([
|
|
268
|
+
* { type: 'uint64', value: 5_000_000n },
|
|
269
|
+
* { type: 'uint32', value: 150 },
|
|
270
|
+
* ])
|
|
271
|
+
*/
|
|
272
|
+
export function buildPayloadManual(fields) {
|
|
273
|
+
const sizes = {
|
|
274
|
+
uint8: 1,
|
|
275
|
+
sint8: 1,
|
|
276
|
+
uint16: 2,
|
|
277
|
+
sint16: 2,
|
|
278
|
+
uint32: 4,
|
|
279
|
+
sint32: 4,
|
|
280
|
+
uint64: 8,
|
|
281
|
+
sint64: 8,
|
|
282
|
+
uint128: 16,
|
|
283
|
+
id: 32,
|
|
284
|
+
};
|
|
285
|
+
let totalSize = 0;
|
|
286
|
+
for (const f of fields) {
|
|
287
|
+
totalSize += f.value instanceof Uint8Array ? f.value.byteLength : (sizes[f.type] ?? 0);
|
|
288
|
+
}
|
|
289
|
+
const buf = new Uint8Array(totalSize);
|
|
290
|
+
const view = new DataView(buf.buffer);
|
|
291
|
+
let offset = 0;
|
|
292
|
+
for (const f of fields) {
|
|
293
|
+
if (f.value instanceof Uint8Array) {
|
|
294
|
+
buf.set(f.value, offset);
|
|
295
|
+
offset += f.value.byteLength;
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
const size = sizes[f.type] ?? 0;
|
|
299
|
+
writeScalar(f.type, '', f.value, buf, view, offset, () => new Uint8Array(32));
|
|
300
|
+
offset += size;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return buf;
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { AbiLookupResult, ContractAbiVersion, ContractCallBase, ContractRegistry } from './types.js';
|
|
2
|
+
export declare class AbiNotFoundError extends Error {
|
|
3
|
+
readonly contractIndex: number;
|
|
4
|
+
readonly epoch: number;
|
|
5
|
+
constructor(contractIndex: number, epoch: number, options?: {
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Returns the ABI version active at the given epoch for the given contract.
|
|
11
|
+
* @throws {AbiNotFoundError} if no version covers the epoch.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getAbi(registry: ContractRegistry, contractIndex: number, epoch: number): AbiLookupResult;
|
|
14
|
+
/**
|
|
15
|
+
* Returns all ABI versions for a contract, sorted by effectiveFromEpoch ASC.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getAbiHistory(registry: ContractRegistry, contractIndex: number): ContractAbiVersion[];
|
|
18
|
+
/**
|
|
19
|
+
* Returns the currently-active ABI version (effectiveToEpoch === null).
|
|
20
|
+
* @throws {AbiNotFoundError} if none exists.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getCurrentAbi(registry: ContractRegistry, contractIndex: number): ContractAbiVersion;
|
|
23
|
+
/**
|
|
24
|
+
* Finds a procedure by inputType ordinal.
|
|
25
|
+
* @throws if not found.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getProcedure(version: ContractAbiVersion, inputType: number): ContractCallBase;
|
|
28
|
+
/**
|
|
29
|
+
* Finds a function by inputType ordinal.
|
|
30
|
+
* @throws if not found.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getFunction(version: ContractAbiVersion, inputType: number): ContractCallBase;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the contract name for a given index.
|
|
35
|
+
* @throws if the index is not registered.
|
|
36
|
+
*/
|
|
37
|
+
export declare function findContractByIndex(registry: ContractRegistry, contractIndex: number): string;
|
|
38
|
+
/**
|
|
39
|
+
* Returns the contract index for a given name (case-insensitive).
|
|
40
|
+
* @throws if not found.
|
|
41
|
+
*/
|
|
42
|
+
export declare function findContractByName(registry: ContractRegistry, name: string): number;
|
|
43
|
+
/**
|
|
44
|
+
* Validates the registry for structural correctness.
|
|
45
|
+
* @throws with a descriptive message on any inconsistency.
|
|
46
|
+
*/
|
|
47
|
+
export declare function validateRegistry(registry: ContractRegistry): void;
|
|
48
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM;gBADb,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAOhC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,eAAe,CAcjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,MAAM,GACpB,kBAAkB,EAAE,CAItB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,MAAM,GACpB,kBAAkB,CAMpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAO7F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAK5F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAI7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAiCjE"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export class AbiNotFoundError extends Error {
|
|
2
|
+
contractIndex;
|
|
3
|
+
epoch;
|
|
4
|
+
constructor(contractIndex, epoch, options) {
|
|
5
|
+
super(`No ABI found for contract ${contractIndex} at epoch ${epoch}`, {
|
|
6
|
+
cause: options?.cause,
|
|
7
|
+
});
|
|
8
|
+
this.contractIndex = contractIndex;
|
|
9
|
+
this.epoch = epoch;
|
|
10
|
+
this.name = 'AbiNotFoundError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns the ABI version active at the given epoch for the given contract.
|
|
15
|
+
* @throws {AbiNotFoundError} if no version covers the epoch.
|
|
16
|
+
*/
|
|
17
|
+
export function getAbi(registry, contractIndex, epoch) {
|
|
18
|
+
const versions = registry.versions.filter((v) => v.contractIndex === contractIndex);
|
|
19
|
+
const version = versions.find((v) => v.effectiveFromEpoch <= epoch && epoch <= (v.effectiveToEpoch ?? Number.POSITIVE_INFINITY));
|
|
20
|
+
if (!version)
|
|
21
|
+
throw new AbiNotFoundError(contractIndex, epoch);
|
|
22
|
+
const maxFrom = versions.reduce((m, v) => Math.max(m, v.effectiveFromEpoch), 0);
|
|
23
|
+
const isCurrent = version.effectiveToEpoch === null;
|
|
24
|
+
return {
|
|
25
|
+
version,
|
|
26
|
+
isCurrent,
|
|
27
|
+
isRegistryPossiblyStale: isCurrent && epoch > maxFrom,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns all ABI versions for a contract, sorted by effectiveFromEpoch ASC.
|
|
32
|
+
*/
|
|
33
|
+
export function getAbiHistory(registry, contractIndex) {
|
|
34
|
+
return registry.versions
|
|
35
|
+
.filter((v) => v.contractIndex === contractIndex)
|
|
36
|
+
.sort((a, b) => a.effectiveFromEpoch - b.effectiveFromEpoch);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns the currently-active ABI version (effectiveToEpoch === null).
|
|
40
|
+
* @throws {AbiNotFoundError} if none exists.
|
|
41
|
+
*/
|
|
42
|
+
export function getCurrentAbi(registry, contractIndex) {
|
|
43
|
+
const version = registry.versions.find((v) => v.contractIndex === contractIndex && v.effectiveToEpoch === null);
|
|
44
|
+
if (!version)
|
|
45
|
+
throw new AbiNotFoundError(contractIndex, -1);
|
|
46
|
+
return version;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Finds a procedure by inputType ordinal.
|
|
50
|
+
* @throws if not found.
|
|
51
|
+
*/
|
|
52
|
+
export function getProcedure(version, inputType) {
|
|
53
|
+
const proc = version.procedures.find((p) => p.inputType === inputType);
|
|
54
|
+
if (!proc)
|
|
55
|
+
throw new Error(`Procedure inputType ${inputType} not found in contract ${version.contractName}`);
|
|
56
|
+
return proc;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Finds a function by inputType ordinal.
|
|
60
|
+
* @throws if not found.
|
|
61
|
+
*/
|
|
62
|
+
export function getFunction(version, inputType) {
|
|
63
|
+
const fn = version.functions.find((f) => f.inputType === inputType);
|
|
64
|
+
if (!fn)
|
|
65
|
+
throw new Error(`Function inputType ${inputType} not found in contract ${version.contractName}`);
|
|
66
|
+
return fn;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns the contract name for a given index.
|
|
70
|
+
* @throws if the index is not registered.
|
|
71
|
+
*/
|
|
72
|
+
export function findContractByIndex(registry, contractIndex) {
|
|
73
|
+
const version = registry.versions.find((v) => v.contractIndex === contractIndex);
|
|
74
|
+
if (!version)
|
|
75
|
+
throw new Error(`Contract index ${contractIndex} not found in registry`);
|
|
76
|
+
return version.contractName;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns the contract index for a given name (case-insensitive).
|
|
80
|
+
* @throws if not found.
|
|
81
|
+
*/
|
|
82
|
+
export function findContractByName(registry, name) {
|
|
83
|
+
const lower = name.toLowerCase();
|
|
84
|
+
const version = registry.versions.find((v) => v.contractName.toLowerCase() === lower);
|
|
85
|
+
if (!version)
|
|
86
|
+
throw new Error(`Contract name "${name}" not found in registry`);
|
|
87
|
+
return version.contractIndex;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Validates the registry for structural correctness.
|
|
91
|
+
* @throws with a descriptive message on any inconsistency.
|
|
92
|
+
*/
|
|
93
|
+
export function validateRegistry(registry) {
|
|
94
|
+
const byContract = new Map();
|
|
95
|
+
for (const v of registry.versions) {
|
|
96
|
+
const list = byContract.get(v.contractIndex) ?? [];
|
|
97
|
+
list.push(v);
|
|
98
|
+
byContract.set(v.contractIndex, list);
|
|
99
|
+
}
|
|
100
|
+
for (const [contractIndex, versions] of byContract) {
|
|
101
|
+
const currentVersions = versions.filter((v) => v.effectiveToEpoch === null);
|
|
102
|
+
if (currentVersions.length > 1) {
|
|
103
|
+
throw new Error(`Contract ${contractIndex} has multiple current versions (effectiveToEpoch === null)`);
|
|
104
|
+
}
|
|
105
|
+
const sorted = [...versions].sort((a, b) => a.effectiveFromEpoch - b.effectiveFromEpoch);
|
|
106
|
+
for (let i = 0; i < sorted.length - 1; i++) {
|
|
107
|
+
const a = sorted[i];
|
|
108
|
+
const b = sorted[i + 1];
|
|
109
|
+
if (a === undefined || b === undefined)
|
|
110
|
+
continue;
|
|
111
|
+
const aEnd = a.effectiveToEpoch ?? Number.POSITIVE_INFINITY;
|
|
112
|
+
if (aEnd >= b.effectiveFromEpoch) {
|
|
113
|
+
throw new Error(`Contract ${contractIndex} has overlapping epoch ranges: [${a.effectiveFromEpoch}, ${a.effectiveToEpoch}] and [${b.effectiveFromEpoch}, ${b.effectiveToEpoch}]`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
for (const v of versions) {
|
|
117
|
+
validateVersion(v);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function validateVersion(v) {
|
|
122
|
+
for (const call of [...v.procedures, ...v.functions]) {
|
|
123
|
+
const inputSum = call.inputFields.reduce((s, f) => s + f.byteLength, 0);
|
|
124
|
+
if (inputSum !== call.inputSize) {
|
|
125
|
+
throw new Error(`Contract ${v.contractName} ${call.kind} "${call.name}": inputSize ${call.inputSize} !== sum of inputField byteLengths ${inputSum}`);
|
|
126
|
+
}
|
|
127
|
+
const outputSum = call.outputFields.reduce((s, f) => s + f.byteLength, 0);
|
|
128
|
+
if (outputSum !== call.outputSize) {
|
|
129
|
+
throw new Error(`Contract ${v.contractName} ${call.kind} "${call.name}": outputSize ${call.outputSize} !== sum of outputField byteLengths ${outputSum}`);
|
|
130
|
+
}
|
|
131
|
+
for (const field of [...call.inputFields, ...call.outputFields]) {
|
|
132
|
+
validateField(field, v);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function validateField(field, v) {
|
|
137
|
+
if (field.type === 'array') {
|
|
138
|
+
const len = field.arrayLength ?? 0;
|
|
139
|
+
const itemLen = field.arrayItemByteLength ?? 0;
|
|
140
|
+
if (len * itemLen !== field.byteLength) {
|
|
141
|
+
throw new Error(`Contract ${v.contractName} field "${field.name}": arrayLength × arrayItemByteLength !== byteLength`);
|
|
142
|
+
}
|
|
143
|
+
if (field.arrayItemStructRef !== undefined && !(field.arrayItemStructRef in v.structs)) {
|
|
144
|
+
throw new Error(`Contract ${v.contractName} field "${field.name}": arrayItemStructRef "${field.arrayItemStructRef}" not found in structs`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (field.type === 'struct' && field.structRef !== undefined && !(field.structRef in v.structs)) {
|
|
148
|
+
throw new Error(`Contract ${v.contractName} field "${field.name}": structRef "${field.structRef}" not found in structs`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export type FieldType = 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'sint8' | 'sint16' | 'sint32' | 'sint64' | 'uint128' | 'id' | 'bytes' | 'array' | 'struct';
|
|
2
|
+
export interface BinaryField {
|
|
3
|
+
name: string;
|
|
4
|
+
type: FieldType;
|
|
5
|
+
/** Byte offset from start of enclosing struct. */
|
|
6
|
+
offset: number;
|
|
7
|
+
/** Total byte footprint — always authoritative. For arrays: arrayLength × arrayItemByteLength. */
|
|
8
|
+
byteLength: number;
|
|
9
|
+
description?: string;
|
|
10
|
+
arrayLength?: number;
|
|
11
|
+
arrayItemType?: FieldType;
|
|
12
|
+
arrayItemByteLength?: number;
|
|
13
|
+
arrayItemStructRef?: string;
|
|
14
|
+
structRef?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface NamedStruct {
|
|
17
|
+
name: string;
|
|
18
|
+
fields: BinaryField[];
|
|
19
|
+
/** Sum of all field byteLengths; pre-computed. */
|
|
20
|
+
byteLength: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ContractCallBase {
|
|
23
|
+
kind: 'procedure' | 'function';
|
|
24
|
+
/** Declaration-order ordinal, starts at 1. */
|
|
25
|
+
inputType: number;
|
|
26
|
+
name: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
inputFields: BinaryField[];
|
|
29
|
+
outputFields: BinaryField[];
|
|
30
|
+
/** Sum of inputField byteLengths; 0 if no input. */
|
|
31
|
+
inputSize: number;
|
|
32
|
+
outputSize: number;
|
|
33
|
+
/** tx.amount used as invocationReward. */
|
|
34
|
+
requiresAmount?: boolean;
|
|
35
|
+
sourceRef?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Per-epoch snapshot stored in data/epochs/{epoch}/{name}.json. No range metadata — epoch is the folder. */
|
|
38
|
+
export interface ContractSnapshot {
|
|
39
|
+
contractIndex: number;
|
|
40
|
+
contractName: string;
|
|
41
|
+
/** Deterministic 60-char Qubic identity derived from contractIndex. */
|
|
42
|
+
contractAddress?: string;
|
|
43
|
+
/** Epoch this snapshot was taken at; matches the parent folder name. */
|
|
44
|
+
epoch: number;
|
|
45
|
+
coreVersion?: string;
|
|
46
|
+
coreCommit?: string;
|
|
47
|
+
structs: Record<string, NamedStruct>;
|
|
48
|
+
procedures: ContractCallBase[];
|
|
49
|
+
functions: ContractCallBase[];
|
|
50
|
+
changelog?: string;
|
|
51
|
+
}
|
|
52
|
+
/** Version-range entry stored in registry.json. Spans one or more epochs where ABI was identical. */
|
|
53
|
+
export interface ContractAbiVersion {
|
|
54
|
+
contractIndex: number;
|
|
55
|
+
contractName: string;
|
|
56
|
+
/** Deterministic 60-char Qubic identity derived from contractIndex. */
|
|
57
|
+
contractAddress?: string;
|
|
58
|
+
effectiveFromEpoch: number;
|
|
59
|
+
/** null = currently active */
|
|
60
|
+
effectiveToEpoch: number | null;
|
|
61
|
+
coreVersion?: string;
|
|
62
|
+
coreCommit?: string;
|
|
63
|
+
structs: Record<string, NamedStruct>;
|
|
64
|
+
procedures: ContractCallBase[];
|
|
65
|
+
functions: ContractCallBase[];
|
|
66
|
+
changelog?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface ContractRegistry {
|
|
69
|
+
schemaVersion: 1;
|
|
70
|
+
updatedAt: string;
|
|
71
|
+
/** Sorted: contractIndex ASC, effectiveFromEpoch ASC. */
|
|
72
|
+
versions: ContractAbiVersion[];
|
|
73
|
+
}
|
|
74
|
+
export interface AbiLookupResult {
|
|
75
|
+
version: ContractAbiVersion;
|
|
76
|
+
isCurrent: boolean;
|
|
77
|
+
/** epoch > latest known for this contract AND isCurrent=true */
|
|
78
|
+
isRegistryPossiblyStale: boolean;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|