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:
A pós-condição do contrato deve mencionar o contrato
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:
Pós-condições no explorer:
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 modoDeny
.
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 modoDeny
.
Esperar. Vou tentar isso. Obrigado.
Corrigido e lançado na versão 2.3.0: +1:
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