Stacks-wallet-web: [Web Stacks Wallet] Condições pós-contrato substituídas por condições padrão

Criado em 22 fev. 2021  ·  9Comentários  ·  Fonte: blockstack/stacks-wallet-web

Um tx com pós-condição do contrato e pós-condições padrão são mostrados da mesma maneira. Veja a imagem:
Screenshot from 2021-02-22 09-08-38

A pós-condição do contrato deve mencionar o contrato

P1 🐛 Bug!

Comentários muito úteis

Na verdade, é pior do que isso - a lógica atual das pós-condições assumiu que as pós-condições só poderiam ser aplicadas ao remetente do tx. Jude atualizou recentemente algumas palavras neste SIP que esclarece isso. Portanto, a Stacks Wallet realmente substitui cada condição de postagem com o endereço STX da conta atual.

Relacionado: https://github.com/blockstack/ux/issues/969

Todos 9 comentários

Parece que a pós-condição do contrato foi substituída por uma pós-condição padrão, tornando impossível a transferência de stx de um contrato.
O código de chamada do contrato abaixo resulta em duas pós-condições padrão:

Código:
Screenshot from 2021-02-22 09-21-54

Pós-condições no explorer:
Screenshot from 2021-02-22 09-19-55

Na verdade, é pior do que isso - a lógica atual das pós-condições assumiu que as pós-condições só poderiam ser aplicadas ao remetente do tx. Jude atualizou recentemente algumas palavras neste SIP que esclarece isso. Portanto, a Stacks Wallet realmente substitui cada condição de postagem com o endereço STX da conta atual.

Relacionado: https://github.com/blockstack/ux/issues/969

Consertar isso pode ter uma prioridade mais alta. Isso está impossibilitando o teste de ft-transfers usando o explorer sandbox ou qualquer outro aplicativo.

Concordo que é importante, e temos isso agrupado em nosso marco de maior prioridade. Mas, para fins de teste, você não precisa adicionar condições de postagem para endereços diferentes do remetente. Você deveria estar em produção, mas para que o tx prossiga, você só precisa adicioná-los para o remetente.

Remover a condição do contrato não ajuda: https://explorer.stacks.co/txid/0xa14334f26ff547516135b5510809dee33db5797c836f8954c0ed45c2fb51f87b?chain=testnet

Em https://speed-spend.org/poxlite não é possível resgatar stingers porque a pós-condição para o remetente de STX, ou seja, o contrato inteligente não pode ser especificado na carteira web das pilhas.

https://github.com/friedger/speed-spend/commit/c3b30b6bdda2637e573d0aa2c06088ba24aaccac

O que estou sugerindo é que seria melhor para esse tx simplesmente não ter condições de postagem. Como tx-sender não está realmente transferindo nenhum ativo, o tx será bem-sucedido, mesmo no modo Deny .

O que estou sugerindo é que seria melhor para esse tx simplesmente não ter condições de postagem. Como tx-sender não está realmente transferindo nenhum ativo, o tx será bem-sucedido, mesmo no modo Deny .

Você pode ser mais claro?

O que estou sugerindo é que seria melhor para esse tx simplesmente não ter condições de postagem. Como tx-sender não está realmente transferindo nenhum ativo, o tx será bem-sucedido, mesmo no modo Deny .

Esperar. Vou tentar isso. Obrigado.

Corrigido e lançado na versão 2.3.0: +1:

Esta página foi útil?
0 / 5 - 0 avaliações