Tu peux toujours gérer la pagination à la main si tu préfères 
Respecter des spec communes permet de laisser le choix, alors qu’utiliser un truc custom pas standard oblige les clients à gérer «à la main» 
Perso je préfère investir du temps à apprendre à utiliser finement une lib qui gère beaucoup de choses à ma place, car elle gérera très probablement mieux qu’une implémentation perso à la main, et ça rendra mon code plus propre et mieux maintenable, car il gère moins de choses.
En contrepartie il faut que la lib en question soit bien documentée et finement configurable, sinon effectivement, autant le faire soi-même 
Cela ne fonctionne que pour les transactions mono-ussuer, mono-receiver, et dont tous les inputs viennent du compte SIG(issuer). Que devrait afficher ce champ dans tous les autres cas ? null ?
Ok reste à définir simple, je propose la définition suivante :
- 1 issuer
- Tous les inputs viennent du compte
SIG(issuer)
- 1 ou 2 outputs
- Si 2 outputs :
- 1 output vers un compte différent de
SIG(issuer)
- 1 output vers
SIG(issuer)
Notez que cette définition inclut les transactions de change
Je trouve ça moche d’avoir un champ qui n’aura pas de sens dans certains cas. Le mieux serait que les tx simple fassent l’objet d’une requête à part, requête qui fournirait le champ amount.
Exemple :
TxHistoryBc(direction: TxDirection! = BOTH, pagination: Pagination) {
simple(pubkey: String!): [SimpleTx]!
all(pubkeyOrScript: String!): [Tx]!
}
Seul le type SimpleTx aurait le champ amount.
L’idée étant de faire en sorte que le système de typage assure que tous les champs exposés ont un sens, et qu’il est impossible de recevoir une réponse valide au niveau du typage mais n’ayant pas de sens, afin de limiter les effets de bord.
Si le champ amount est toujours exposé mais vaut null pour une transaction complexe. Le client va devoir gérer le cas où amount vaut null pour une transaction simple, cas impossible mais permis par le système de typage.
Un typage bien fait est un typage dont les contraintes correspondent aux contraintes métier 