graphsense-transformation
graphsense-transformation copied to clipboard
Support for multisig inputs/outputs
Hello, When computing regular inputs/outputs, it seems that all the multisig inputs (more than 1 address in input/output) are ignored. Is it actually what happens ? Would it be possible to support multisig or does it creates problems down the line for computing balances and others ? https://github.com/graphsense/graphsense-transformation/blob/master/src/main/scala/info/graphsense/Transformation.scala#L117
def computeRegularInputs(tx: Dataset[Transaction]): Dataset[RegularInput] = {
tx.withColumn("input", explode(col("inputs")))
.filter(size(col("input.address")) === 1) // <- this line here
.select(
explode(col("input.address")).as(F.address),
col("input.value").as(F.value),
col(F.txId)
)
.groupBy(F.txId, F.address)
.agg(sum(F.value).as(F.value))
.join(
tx.select(
col(F.txId),
col(F.blockId),
col(F.timestamp),
col(F.coinjoin)
),
Seq(F.txId)
)
.as[RegularInput]
}
Thank you for writing and maintaining Graphsense, Quentin FAIDIDE.