Evaluators price scripts at a fixed protocol version
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript
- Domínio
- backend-api-design
Direção de pesquisa
Start at packages/evolution/src/sdk/builders/TransactionBuilder.ts:146 and trace how provider protocol parameters reach EvaluationContext; the issue says the major version is currently dropped. Check the Ogmios, Koios, and Blockfrost version fields, then inspect the uplc and Scalus evaluator entry points named in the issue. Done when both evaluators use the network's protocol version and their costs match the node for versions 10 and 11.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The local evaluators price scripts with the rules of one fixed protocol version, whatever version the network runs. The ledger picks the builtin cost rules by protocol version. From version 11, divideInteger and modInteger cost more when the dividend is narrower than the divisor. In Plutus V1 and V2 the memory of modInteger and remainderInteger changes too (plutus-ledger-api/src/PlutusLedgerApi/V2/EvaluationContext.hs:58-63 and V3/EvaluationContext.hs:51-57 at Plutus 1.72.0.0).
aiken-uplcbuilds onuplc1.1.21 (packages/aiken-uplc/rust/Cargo.toml:10), which has only the rules from before version 11. Mainnet, preprod and preview are at 11, so a script that divides by an operand wider than 64 bits is under-declared. Compared with the mainnet node, V2divideInteger(7, 10^300)costs 309,948 steps inaiken-uplcand 454,517 on the node.scalus-uplcafter #615 always uses version 11. That is right for the public networks, but the default devnet starts at 10. There, V2modIntegerwith a wide dividend comes out at 1,501 memory against the node's 1,515.
In both cases the node rejects the transaction at submission with "Invalid transaction submitted as valid" (Ogmios code 3136). The transaction never enters the mempool, so no collateral is taken.
The fix is to carry the protocol major version in EvaluationContext (packages/evolution/src/sdk/builders/TransactionBuilder.ts:146), filled from the provider's protocol parameters. Ogmios returns it as version.major, Koios as protocol_major and Blockfrost as protocol_major_ver, but ProtocolParameters drops it today. Both evaluators can take it: uplc 1.1.23 and later through eval_phase_two_raw_with_protocol, and Scalus through evaluateTx. Bumping uplc to 1.1.24 without passing the version would move the mismatch to version 10 networks, as it did for Scalus.
- Linguagem predominante
- TypeScript
- Estrelas
- 22
- Forks
- 33
- Merge médio
- 21h 38min
- PRs com merge (30d)
- 55
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de IntersectMBO/evolution-sdk
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
IntersectMBO/evolution-sdk#696 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
IntersectMBO/evolution-sdk#694 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
IntersectMBO/evolution-sdk#559 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
IntersectMBO/evolution-sdk#557 ·
Mantenedores costumam responder em até 1 dia
-
txBuilder: committee cert redeemers are never resolved to a certificate indexTalvez já em andamento @emmanuel-musau assumiu há 15 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
IntersectMBO/evolution-sdk#518 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de IntersectMBO/evolution-sdk
Issues semelhantes
-
pending close triaging
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 74/100
anomalyco/opencode#63090 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
ai-driven-qa bug claude Cosmetic
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
ai-driven-qa bug claude Minor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
linagora/twake-mail-admin#609 ·
Mantenedores costumam responder em até 1 dia