Skip to main contentA-REX Core

Diagramas · 04

Linhagem por meio de transform

transform é a única forma de criar um lote a partir de um lote. Ele queima as entradas, cunha as saídas e registra os lotes-pai; BatchTransformed corresponde um a um a um TransformationEvent do EPCIS 2.0.

Divisão, união e processamento são uma única operação

flowchart LR
    subgraph SPLIT["Reagrupamento (divisão) · sem papel necessário · mesma commodity e unidade · quantidade conservada"]
        W1["#1 trigo 250 t"] --> W2["#2 trigo 60 t"]
        W1 --> W3["#3 trigo 40 t"]
    end
    subgraph MERGE["Reagrupamento (união)"]
        M1["#4 café 10 t"] --> M3["#6 café 25 t"]
        M2["#5 café 15 t"] --> M3
    end
    subgraph PROC["Processamento · TRANSFORMER_ROLE · a commodity ou a quantidade muda"]
        P1["#2 trigo 60 t"] --> P2["#7 farinha 45 t"]
    end

Os lotes-pai são consultáveis on-chain

flowchart TB
    F7["parentsOf(7) → [2]"] --> F2["parentsOf(2) → [1]"] --> F1["parentsOf(1) → []"]

Um recolhimento percorre parentsOf para trás até a origem e os eventos BatchTransformed para a frente até cada lote derivado. Uma auditoria de balanço de massa compara as quantidades de entrada e de saída de cada etapa de processamento com a razão certificada.

Regras que a referência impõe

RegraOnde
As entradas devem existir, não estar baixadas e estar em poder de from (ou do chamador aprovado por from)transform, _update
O reagrupamento (mesma commodity, mesma unidade, Σ entrada = Σ saída) não exige papelverificação isRebatch
Qualquer outro caso exige TRANSFORMER_ROLEtransform
Toda saída registra parents = inputIds e issuer = msg.senderarmazenamento
Os hooks veem OP_TRANSFORM para entradas e saídascontexto de _update