ĞDev Runtime 802 -- suivi

Sujet pour suivre l’avancement de la production du Runtime 802 qui succède au Runtime 801.

1 Like

Point de suivi

Rappel : toutes les issues sont référencées par la Milestone 802 qui sert de référence à ce qui suit :

Résumé

Cette milestone vise à optimiser, nettoyer et fiabiliser Duniter V2S. Seule une grande modification pourrait avoir lieu à travers #197 qui pourrait fusionner les palettes membership, smith-members et authority-members. Nous n’avons pas encore échangé dessus.

Mais en réalité, nous en sommes à un stade où le cœur est presque prêt :slight_smile: les fonctionnalités sont là, il faut maintenant bichonner les clients à travers le développement des indexeurs (travaux effectués @poka et @HugoTrentesaux notamment) et se préparer pour le lancement de la ĞTest qui, je l’espère, se produira d’ici cet été 2024.

Issues

Total : 22

Ouvertes

Total : 20

ID Status Assignees Title
#200 opened debian package
#197 opened Fix pallet session config
#196 opened bgallois Check that transfer_all on a linked account does not lead to empty linked account
#195 opened c-geek Dissociate release of Runtime and release of Client
#191 opened Misleading error message in logs for distance oracle
#183 opened Refac generated documentation
#182 opened smiths-members: Unscheduling
#181 opened smith-members: supprimer CurrentSession
#180 opened bgallois firstEligibleUd displays default value
#179 opened HugoTrentesaux Merge identity/pubkey “conversion” trait into one
#174 opened Calibrate distance MAX_EVALUATIONS_PER_SESSION
#172 opened Optimisation: transactional opt out
#167 opened bgallois Membership handler weight accounting
#163 opened Split OnEvent(membership_event)
#161 opened bgallois Add live tests for membership status coherence
#158 opened Identity creation should only be possible for an account that already “exists”
#144 opened Automatically publish ARM images of indexer
#141 opened c-geek Have a testing strategy
#73 opened Manually remove certification at expiration from a non-mandatory inherent
#54 opened Improve explicit revocation

Fermées depuis la clôture du runtime-801

Total : 2

ID Status Assignees Title
#142 closed Contribute to Cesium²
#112 closed c-geek Could not find protoc

Fichier source YAML

milestone: runtime-802
date: 2024-02-22
changes:
issues:

  • title: debian package
    number: 200
    status: opened
    assignees:
  • title: Fix pallet session config
    number: 197
    status: opened
    assignees:
  • title: Check that transfer_all on a linked account does not lead to empty linked account
    number: 196
    status: opened
    assignees:
    • bgallois
  • title: Dissociate release of Runtime and release of Client
    number: 195
    status: opened
    assignees:
    • c-geek
  • title: Misleading error message in logs for distance oracle
    number: 191
    status: opened
    assignees:
  • title: Refac generated documentation
    number: 183
    status: opened
    assignees:
  • title: ‘smiths-members: Unscheduling’
    number: 182
    status: opened
    assignees:
  • title: ‘smith-members: supprimer CurrentSession’
    number: 181
    status: opened
    assignees:
  • title: firstEligibleUd displays default value
    number: 180
    status: opened
    assignees:
    • bgallois
  • title: Merge identity/pubkey “conversion” trait into one
    number: 179
    status: opened
    assignees:
    • HugoTrentesaux
  • title: Calibrate distance MAX_EVALUATIONS_PER_SESSION
    number: 174
    status: opened
    assignees:
  • title: ‘Optimisation: transactional opt out’
    number: 172
    status: opened
    assignees:
  • title: Membership handler weight accounting
    number: 167
    status: opened
    assignees:
    • bgallois
  • title: Split OnEvent(membership_event)
    number: 163
    status: opened
    assignees:
  • title: Add live tests for membership status coherence
    number: 161
    status: opened
    assignees:
    • bgallois
  • title: Identity creation should only be possible for an account that already “exists”
    number: 158
    status: opened
    assignees:
  • title: Automatically publish ARM images of indexer
    number: 144
    status: opened
    assignees:
  • title: Contribute to Cesium²
    number: 142
    status: closed
    assignees:
  • title: Have a testing strategy
    number: 141
    status: opened
    assignees:
    • c-geek
  • title: Could not find protoc
    number: 112
    status: closed
    assignees:
    • c-geek
  • title: Manually remove certification at expiration from a non-mandatory inherent
    number: 73
    status: opened
    assignees:
  • title: Improve explicit revocation
    number: 54
    status: opened
    assignees:
    new_issues:
    count: 22
    issues:
    • 200
    • 197
    • 196
    • 195
    • 191
    • 183
    • 182
    • 181
    • 180
    • 179
    • 174
    • 172
    • 167
    • 163
    • 161
    • 158
    • 144
    • 142
    • 141
    • 112
    • 73
    • 54
      unstarted_issues:
      count: 13
      issues:
    • 200
    • 197
    • 191
    • 183
    • 182
    • 181
    • 174
    • 172
    • 163
    • 158
    • 144
    • 73
    • 54
      taken_issues:
      count: 0
      issues:
      unchanged_issues:
      count: 0
      issues:
      open_issues:
      count: 20
      issues:
    • 200
    • 197
    • 196
    • 195
    • 191
    • 183
    • 182
    • 181
    • 180
    • 179
    • 174
    • 172
    • 167
    • 163
    • 161
    • 158
    • 144
    • 141
    • 73
    • 54
      closed_issues:
      count: 2
      issues:
    • 142
    • 112
      moved_issues:
      count: 0
      issues:
5 Likes

Bravo !!
A nous de jouer alors :slight_smile:

Ça tombe bien : la fenêtre de disponibilité me paraît bon, pour ma part.

2 Likes

Point de suivi

Rappel : toutes les issues sont référencées par la Milestone 802 qui sert de référence à ce qui suit :

Résumé

Depuis le dernier point qui remonte au 22/02 (presque deux mois — les RML 18 étant passées par là), 10 nouveaux tickets ont été ajoutés (voir section Rajoutées depuis le dernier point).

En terme d’activité sur Duniter V2S, c’est assez calme : seul @bgallois reste constant tandis que @HugoTrentesaux semble davantage tourné vers les Datapods. Pour ma part j’ai fait une petite pause post-RML, je vais reprendre progressivement les développements.

Une nouveauté : @txels fait son entrée dans le code du cœur en corrigeant le ticket #251 en modifiant une ligne de log, évitant un désarroi au forgeron qui aurait un soucis de configuration. Bienvenue :slight_smile:

Je n’ai pas davantage de commentaires à faire, je me remets doucement les sujets en tête.

Issues

Total : 31

Ouvertes

Total : 17

ID Status Assignees Title
#225 opened bgallois Benchmarks error
#221 opened bgallois Oracle : ne pas se bloquer à cause des clés
#218 opened Protocole : ne pas autoriser la création d’une identité où le compte n’existe pas
#210 opened Smith documentation is not up-to-date
#200 opened debian package
#197 opened Use IdtyIndex as Session ValidatorId
#195 opened c-geek Dissociate release of Runtime and release of Client
#183 opened bgallois Refac generated documentation
#182 opened smiths-members: Unscheduling
#181 opened smith-members: supprimer CurrentSession
#179 opened HugoTrentesaux Merge identity/pubkey “conversion” trait into one
#172 opened Optimisation: transactional opt out
#158 opened Identity creation should only be possible for an account that already “exists”
#144 opened Automatically publish ARM images of indexer
#141 opened c-geek Have a testing strategy
#73 opened Manually remove certification at expiration from a non-mandatory inherent
#54 opened Improve explicit revocation

Rajoutées depuis le dernier point

Total : 10

ID Status Assignees Title
#225 opened bgallois Benchmarks error
#221 opened bgallois Oracle : ne pas se bloquer à cause des clés
#220 closed bgallois Smith-members: invert issuer and receiver in events
#219 closed bgallois Distance : rajouter le résultat dans l’évènement
#218 opened Protocole : ne pas autoriser la création d’une identité où le compte n’existe pas
#214 closed c-geek Allow native Runtime execution
#210 opened Smith documentation is not up-to-date
#207 closed Distance oracle tries to publish inherent even if already published result, leading to ExtrinsicFailed result of the inherent
#202 closed bgallois align distance oracle on modulo instead of session
#201 closed HugoTrentesaux distance oracle refuses “insecure url”

Assignées depuis le dernier point

Total : 4

ID Status Assignees Title
#191 closed txels Misleading error message in logs for distance oracle
#183 opened bgallois Refac generated documentation
#174 closed bgallois Calibrate distance MAX_EVALUATIONS_PER_SESSION
#163 closed bgallois Split OnEvent(membership_event)

Stagnantes depuis le dernier point

Total : 11

ID Status Assignees Title
#200 opened debian package
#195 opened c-geek Dissociate release of Runtime and release of Client
#182 opened smiths-members: Unscheduling
#181 opened smith-members: supprimer CurrentSession
#179 opened HugoTrentesaux Merge identity/pubkey “conversion” trait into one
#172 opened Optimisation: transactional opt out
#158 opened Identity creation should only be possible for an account that already “exists”
#144 opened Automatically publish ARM images of indexer
#141 opened c-geek Have a testing strategy
#73 opened Manually remove certification at expiration from a non-mandatory inherent
#54 opened Improve explicit revocation

Fermées depuis le dernier point

Total : 12

ID Status Assignees Title
#220 closed bgallois Smith-members: invert issuer and receiver in events
#219 closed bgallois Distance : rajouter le résultat dans l’évènement
#214 closed c-geek Allow native Runtime execution
#207 closed bgallois Distance oracle tries to publish inherent even if already published result, leading to ExtrinsicFailed result of the inherent
#202 closed bgallois align distance oracle on modulo instead of session
#201 closed HugoTrentesaux distance oracle refuses “insecure url”
#196 closed bgallois Check that transfer_all on a linked account does not lead to empty linked account
#191 closed txels Misleading error message in logs for distance oracle
#174 closed bgallois Calibrate distance MAX_EVALUATIONS_PER_SESSION
#167 closed bgallois Membership handler weight accounting
#163 closed bgallois Split OnEvent(membership_event)
#161 closed bgallois Add live tests for membership status coherence

Retirées depuis le dernier point (remises à plus tard)

Total : 1

ID Status Assignees Title
#180 closed firstEligibleUd displays default value

Fichier source YAML : milestone-802-02.yaml (4,7 Ko)

8 Likes

Je suggère de geler le runtime 802 en l’état actuel pour le publier sur le réseau gdev. Par ailleurs, une mise à jour des clients sera nécessaire pour ceux qui font tourner un oracle de distance.

  • amélioration du runtime qui m’intéressent
    • #220 événement plus clair issuer/receiver
    • #219 résultat du calcul de distance dans l’événement, utile pour le parcours nouvel utilisateur
    • #217 réparation de la documentation des calls, très utile pour faciliter la vie aux nouveaux forgerons !
    • #202 calcul de la distance plus rapide (5 minutes au lieu de 2h)
  • améliorations du client qui m’intéressent
    • améliorations relatives à l’oracle de distance côté client

Cela faciliterait le développement des clients comme Cesium qui pourraient utiliser dès maintenant la nouvelle version du runtime à la fois sur leur environnement de dev et sur le réseau gdev, ce qui éviterait d’avoir à maintenir deux versions du runtime trop différentes ou de prendre du retard sur les mises à jour du runtime.

7 Likes

J’ai déplacé toutes les issues non fusionnées de runtime-802 vers runtime-803. J’ai publié une branche network/gdev-802 sur master avec quelques ajouts sans réussir à déclencher trigger_network_release. [edit corrigé depuis] Donc je suis passé par srtool en local. J’obtiens le fichier gdev_runtime.compact.compressed.wasm dont le hash IPFS est QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs, c’est même précisé dans la sortie srtool :

{
    "gen": "srtool v0.15.0",
    "src": "git",
    "version": "1.0.0",
    "commit": "4ba7fabc93cbdd68f4d3518a232c6bb219a4ca44",
    "tag": "gdev-802-0.8.0",
    "branch": "network/gdev-802",
    "rustc": "rustc 1.77.0 (aedd173a2 2024-03-17)",
    "pkg": "gdev-runtime",
    "tmsp": "2024-09-25T09:36:13Z",
    "size": "671530",
    "prop": "0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b",
    "authorize_upgrade_prop": "0x446434189063e1becada5e42963f5b527cb54e5825a8ad62041bd40eddf82499",
    "ipfs": "QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs",
    "sha256": "0x37cbbe6f9af13a2bbe1bbf8ef11d814dca9aea22efc87098c439dec5297f6c89",
    "wasm": "runtime/gdev/target/srtool/release/wbuild/gdev-runtime/gdev_runtime.compact.compressed.wasm",
    "info": {
        "generator": {
            "name": "srtool",
            "version": "0.15.0"
        },
        "src": "git",
        "version": "1.0.0",
        "git": {
            "commit": "4ba7fabc93cbdd68f4d3518a232c6bb219a4ca44",
            "tag": "",
            "branch": "network/gdev-802"
        },
        "rustc": "rustc 1.77.0 (aedd173a2 2024-03-17)",
        "pkg": "gdev-runtime",
        "profile": "release"
    },
    "context": {
        "package": "gdev-runtime",
        "runtime_dir": "runtime/gdev",
        "docker": {
            "image": "paritytech/srtool",
            "tag": "1.77.0"
        },
        "profile": "release"
    },
    "runtimes": {
        "compact": {
            "tmsp": "2024-09-25T09:35:57Z",
            "size": "3066320",
            "prop": "0x52439e4b2991f1bf104b127d23e9aed5bb06c576d3cd4b1bb616db20d3e569e9",
            "authorize_upgrade_prop": "0x07a9e150364f6db4844d320d4f6e6dc8114d59cc2e3b582dd6cdd0332d8e7465",
            "blake2_256": "0x0df38ccfd7162db2923d4d259c4d14c4c1254bcc96d7ef87533b708b6ea62088",
            "ipfs": "QmNNLpnhjdKxLnR7Hpd46LxYFkHXEbsCQyzaCBjxqsffKA",
            "sha256": "0x1e2062c85d447e9c129676ba44e19c8c07e411716b937f4a6aad01380d7cf022",
            "wasm": "runtime/gdev/target/srtool/release/wbuild/gdev-runtime/gdev_runtime.compact.wasm",
            "subwasm": {
                "size": 3066320,
                "compression": {
                    "size_compressed": 3066320,
                    "size_decompressed": 3066320,
                    "compressed": false
                },
                "reserved_meta": [
                    109,
                    101,
                    116,
                    97
                ],
                "reserved_meta_valid": true,
                "metadata_version": 14,
                "core_version": {
                    "specName": "gdev",
                    "implName": "duniter-gdev",
                    "authoringVersion": 1,
                    "specVersion": 802,
                    "implVersion": 1,
                    "apis": [
                        [
                            "0x687ad44ad37f03c2",
                            1
                        ],
                        [
                            "0xcbca25e39f142387",
                            2
                        ],
                        [
                            "0xdf6acb689907609b",
                            5
                        ],
                        [
                            "0x37e397fc7c91f5e4",
                            2
                        ],
                        [
                            "0x40fe3ad401f8959a",
                            6
                        ],
                        [
                            "0xd2bc9897eed08f15",
                            3
                        ],
                        [
                            "0xf78b278be53f454c",
                            2
                        ],
                        [
                            "0xab3c0572291feb8b",
                            1
                        ],
                        [
                            "0xed99c5acb25eedf5",
                            3
                        ],
                        [
                            "0xbc9d89904f5b923f",
                            1
                        ],
                        [
                            "0x37c8bb1350a9a2a8",
                            4
                        ],
                        [
                            "0xfbc577b9d747efd6",
                            1
                        ]
                    ],
                    "transactionVersion": 1,
                    "stateVersion": 1
                },
                "proposal_hash": "0x52439e4b2991f1bf104b127d23e9aed5bb06c576d3cd4b1bb616db20d3e569e9",
                "parachain_authorize_upgrade_hash": "0x07a9e150364f6db4844d320d4f6e6dc8114d59cc2e3b582dd6cdd0332d8e7465",
                "ipfs_hash": "QmNNLpnhjdKxLnR7Hpd46LxYFkHXEbsCQyzaCBjxqsffKA",
                "blake2_256": "0x0df38ccfd7162db2923d4d259c4d14c4c1254bcc96d7ef87533b708b6ea62088"
            }
        },
        "compressed": {
            "tmsp": "2024-09-25T09:32:44Z",
            "size": "671530",
            "prop": "0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b",
            "authorize_upgrade_prop": "0x446434189063e1becada5e42963f5b527cb54e5825a8ad62041bd40eddf82499",
            "blake2_256": "0x70b82abc8af0b5b90372d5d844a5b4bba809ba0287e357d976eabc1b7c175ebc",
            "ipfs": "QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs",
            "sha256": "0x37cbbe6f9af13a2bbe1bbf8ef11d814dca9aea22efc87098c439dec5297f6c89",
            "wasm": "runtime/gdev/target/srtool/release/wbuild/gdev-runtime/gdev_runtime.compact.compressed.wasm",
            "subwasm": {
                "size": 671530,
                "compression": {
                    "size_compressed": 671530,
                    "size_decompressed": 3066320,
                    "compressed": true
                },
                "reserved_meta": [
                    109,
                    101,
                    116,
                    97
                ],
                "reserved_meta_valid": true,
                "metadata_version": 14,
                "core_version": {
                    "specName": "gdev",
                    "implName": "duniter-gdev",
                    "authoringVersion": 1,
                    "specVersion": 802,
                    "implVersion": 1,
                    "apis": [
                        [
                            "0x687ad44ad37f03c2",
                            1
                        ],
                        [
                            "0xcbca25e39f142387",
                            2
                        ],
                        [
                            "0xdf6acb689907609b",
                            5
                        ],
                        [
                            "0x37e397fc7c91f5e4",
                            2
                        ],
                        [
                            "0x40fe3ad401f8959a",
                            6
                        ],
                        [
                            "0xd2bc9897eed08f15",
                            3
                        ],
                        [
                            "0xf78b278be53f454c",
                            2
                        ],
                        [
                            "0xab3c0572291feb8b",
                            1
                        ],
                        [
                            "0xed99c5acb25eedf5",
                            3
                        ],
                        [
                            "0xbc9d89904f5b923f",
                            1
                        ],
                        [
                            "0x37c8bb1350a9a2a8",
                            4
                        ],
                        [
                            "0xfbc577b9d747efd6",
                            1
                        ]
                    ],
                    "transactionVersion": 1,
                    "stateVersion": 1
                },
                "proposal_hash": "0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b",
                "parachain_authorize_upgrade_hash": "0x446434189063e1becada5e42963f5b527cb54e5825a8ad62041bd40eddf82499",
                "ipfs_hash": "QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs",
                "blake2_256": "0x70b82abc8af0b5b90372d5d844a5b4bba809ba0287e357d976eabc1b7c175ebc"
            }
        }
    }
}

Donc le hash du call system.setCode(<runtime-802>) est 0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b. Je m’occupe de soumettre un proposal bientôt. [edit : c’est soumis, cf ĞDev runtime 802 -- release !]

2 Likes

Le runtime 802 est en ligne,

Je pense déjà à quelques choses à regarder en particulier :

  • comme on a touché à des trucs dans la pallet distance, il faut probablement mettre à jour les instances de l’oracle de distance parce qu’il utilise subxt pour se connecter et récupérer les données, donc il se pourrait qu’il crash parce qu’il n’a plus les bonnes métadonnées
  • il faut voir comment se comporte squid quand il reçoit des événements qu’il ne connaît pas ou qui ont changé et qu’on n’a pas encore écrit le code qui permet de décoder ces événements avec le nouveau runtime
3 Likes