Grinnode-live / 2020-grin-bug-bash-challenge

Finding bugs in Grin-Wallet & Grin-nodes for a bounty prior to Grin fork v5.
3 stars 1 forks source link

[GRIN-Wallet] test transaction time limit flag #44

Closed marekyggdrasil closed 3 years ago

marekyggdrasil commented 3 years ago

Description The objective of this test is to test the transaction time limit flag

-b --ttl_blocks allows you to specify a number of blocks into the future, after which a wallet should refuse to process the transaction further. This can be useful for putting time limits on transaction finalization, but please note this is not enforced at the grin protocol level; it's up to individual wallets whether they wish to respect this flag.

Prerequisites:

  1. Setup two GRIN-Wallets (1) + (2)
  2. send funds from wallet (1) to wallet (2) via manual Slatepacks and specify --ttl_blocks argument to number N
  3. note down current block height when transaction is sent
  4. wait for the block height to increase by number N
  5. using wallet (2) try to finalize the transaction

Expected result: The wallet (2) normally should not finalize the transaction as time limit has passed, this however is not enforced by the network so there is no guarantee that would happen. Report you findings.

Other info: For both wallets include the output of command

grin-wallet -V

and your environment

uname -a
mojitoo commented 3 years ago

OS : Mac os Catalina Grin wallet version : 5.0.0-rc.1

Step 1 : send funds from wallet (1) to wallet (2) using --ttl_blocks flag

grin-wallet -r "https://grinnode.live:3413"  send --ttl_blocks 100 --manual -d grin1jdj2w0fh8haq9pfuvjmjrev5f4gs34n4n7fnsfmuwf7j09x4v9ws79nq8d  0.1
Password: 
/Users/workstation/.grin/main/slatepack/89fad2b4-34ec-4245-9273-f3a0aceb9fe1.S1.slatepack

Slatepack data follows. Please provide this output to the other party

--- CUT BELOW THIS LINE ---

BEGINSLATEPACK. 92SFoPhQv2gCdLb jDWHAVGVAFhYatF FfqbHK7cioyEAon v7bB4o6Bu5j1upw oLr8dPKeXu8fPQa 5BNgnwuc2wnY6xA Rh4XZezW7BzYMpq 1pjM9ExW6kBUnSb upGPepRuy59wd91 znoEjQB13YjnkJB QNKP3CpEEHmXDhf tupSRmrcJvxXN1r 4PAwoujGZZWKwQf hycGYv77rrsSiEo N8rfvigUWvZF2Jq HPoeCNEg48CY3z5 FzAQHouQJPPKJVd gkZFRkEWiMaJioo UjyCMPVrKeS8s9D zPGNRjHZSom3fo5 HuFb1rXyFW5jjdk cgmXvKBeLgqDEN3 qNs2dJjdXX2AKPx 2murQQVFWDZj1SX UwCz32sAGGfmMrG iuyLxmrvVcRcEcV LYc5yjdQsKMbXmo bj8WrDuWcDn2mxK zHAeWEp9K9ukYfs qEupRT5y48f3Wne 4zeC4euY76KBVuG kbqtm4LATXwbqdW RheZnqFNBTbopNY D9R956AgdxAdPi8 vBYLjd8eDwLHUEr nXdNKFiuLjTQ5HM ZQ3mGgF8j2bi5Du 7nBr3Ws4Ao82iJK dTeKe5mHnwcaBiL QkxhneVDRKi4io9 bhAHh6eC3Mkpkqf KRQM6BSjthRh964 C5ugVKbcWdZqMFr tAxL98mdsjrzyLS ZvWTGN425xChV8N Sf8zU538v761cJq AcXbqQnxXTStdB4 vdggZsUX7SvoEma 4jKhoGMyamtUTgE gYaH4jen3FB3Vty mEnYvNaHJabktuQ MxvQeTBDvUJf. ENDSLATEPACK.

--- CUT ABOVE THIS LINE ---

Slatepack data was also output to

/Users/workstation/.grin/main/slatepack/89fad2b4-34ec-4245-9273-f3a0aceb9fe1.S1.slatepack

The slatepack data is encrypted for the recipient only

Command 'send' completed successfully
workstation@MacBook-Pro-de-Workstation ~ % /Users/workstation/Desktop/GW/grin-wallet-v5.0.0-rc.1-macos/grin-wallet -r "https://grinnode.live:3413"  info
Password: 
20201224 10:14:27.256 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
20201224 10:14:29.695 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
20201224 10:14:29.704 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
20201224 10:14:29.705 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete

____ Wallet Summary Info - Account 'default' as of height 1015981 ____

 Confirmed Total                  | 0.000000000 
 Awaiting Confirmation (< 10)     | 0.000000000 
 Awaiting Finalization            | 0.096500000 
 Locked by previous transaction   | 0.220500000 
 -------------------------------- | ------------- 
 Currently Spendable              | 0.000000000 

Command 'info' completed successfully

block height when transaction is sent was 1015981 and --ttl_blocks was 100.

100 blocks passed, when i check txs, we can see that the transaction was cancelled automatically

grin-wallet -r "https://grinnode.live:3413"  txs

 44  Sent Tx      89fad2b4-34ec-4245-9273-f3a0aceb9fe1  2020-12-24 09:13:56  1016080            false       None                 3       1        0.0965    0.2205   0.024   -0.124      Yes       08f84eda0fa394829683efe6057a782609ba0e558d6785ae1388105c234c51d929  Yes 
     - Cancelled 

Step 2 : 100 blocks passed, try to receive the transaction

grin-wallet -a newaccount receive 
Password: 
Please paste your encoded slatepack message:
BEGINSLATEPACK. 92SFoPhQv2gCdLb jDWHAVGVAFhYatF FfqbHK7cioyEAon v7bB4o6Bu5j1upw oLr8dPKeXu8fPQa 5BNgnwuc2wnY6xA Rh4XZezW7BzYMpq 1pjM9ExW6kBUnSb upGPepRuy59wd91 znoEjQB13YjnkJB QNKP3CpEEHmXDhf tupSRmrcJvxXN1r 4PAwoujGZZWKwQf hycGYv77rrsSiEo N8rfvigUWvZF2Jq HPoeCNEg48CY3z5 FzAQHouQJPPKJVd gkZFRkEWiMaJioo UjyCMPVrKeS8s9D zPGNRjHZSom3fo5 HuFb1rXyFW5jjdk cgmXvKBeLgqDEN3 qNs2dJjdXX2AKPx 2murQQVFWDZj1SX UwCz32sAGGfmMrG iuyLxmrvVcRcEcV LYc5yjdQsKMbXmo bj8WrDuWcDn2mxK zHAeWEp9K9ukYfs qEupRT5y48f3Wne 4zeC4euY76KBVuG kbqtm4LATXwbqdW RheZnqFNBTbopNY D9R956AgdxAdPi8 vBYLjd8eDwLHUEr nXdNKFiuLjTQ5HM ZQ3mGgF8j2bi5Du 7nBr3Ws4Ao82iJK dTeKe5mHnwcaBiL QkxhneVDRKi4io9 bhAHh6eC3Mkpkqf KRQM6BSjthRh964 C5ugVKbcWdZqMFr tAxL98mdsjrzyLS ZvWTGN425xChV8N Sf8zU538v761cJq AcXbqQnxXTStdB4 vdggZsUX7SvoEma 4jKhoGMyamtUTgE gYaH4jen3FB3Vty mEnYvNaHJabktuQ MxvQeTBDvUJf. ENDSLATEPACK.
20201224 12:12:01.986 WARN grin_wallet_api::owner - Attempting to send transaction via TOR
20201224 12:12:12.258 WARN grin_wallet_api::owner - Unable to send transaction via TOR
/Users/workstation/.grin/main/slatepack/89fad2b4-34ec-4245-9273-f3a0aceb9fe1.S2.slatepack

Slatepack data follows. Please provide this output to the other party

--- CUT BELOW THIS LINE ---

BEGINSLATEPACK. 6AbNmE1ABHEtvNg GRY6AeQp87oDMbX CkgTrZNUKVKKC2s ELpGmayfz2NHZvQ xporMXmqdWk484Y Jpp1gop1PBGCzj5 NoargL3oM8AQMFH sn9WrrbszGqvmJW BedyTnSLpddENw9 jrUT72bDNdjd4tf egoy3KjP3MzovAa 2uGKw9amNojeijt YrLS144LriokPa8 BADCDdgUnoM3g5d bt82xZghUTiNFno GR7A12hMpwkumbf J8Qrk5yKL5XxmhE EcHDxYcNyGkMsVo tnhPdGWeaD2Gg4G uNKFBGpGWgYkxVe No63FRjrCm94HrJ iVDQJ5ek9wQAVcQ 6sXf35ALP7R29kH 4uJ3zkfPKHvfU9z 5FvSrvRNynh5cQG icCfr19sZDLDHC2 H6SHLTmF7Mer8K8 6sS8Wr53kTP4XYC 7B6tFcamjkhSseq k1Sx7qfuAENSBts yPrEAZ7bLQZBR8e dUTpWJH8z9We68u FwcjUhNBUEfg5xX g64fSB3zKCffyut ZMUPbBNFrAwj6fg 2pGP9arbfxY6m18 Bjm2aqJm5EV2h3V 1i6Fo53fkhBLt2H 5DD5dcB3tZhLrYW fT75o1ov7tuvoNW Sp3uYUPUJ6oRRZa qvkeT3xdmBQjAe1 kW5XTvEHzXBD6jx oZxUpxHAutEk5LL Afhp47Du9Pmasn5 jDftNXjrQExura8 EV9DoX8xnrYHc8i AeQby5ExfUDZ8fh n1T6GMr9BiYfz3Y MeUkcyvX2X2mXrX z8LjJPCtPaYRBTx UNVAnvbd2bNTWZZ p83JcrAmpqLKed6 6jhCmKqtMQnDxpF 9akBxFqh6ZJzM6j 7hKt4shsaL7yd6M 19zbcGNpcKn6Aoz kethEKqj7yetfuo FwGRAGUVTx8PvtY 35S7YRpwCDRScU6 8QKwWbRcx34EpYB cyGoBEzCSKiJH2s dtQQTkpqWc8Ebwb f1Ja5ESEqtVxCcq 6bb1F1DN9XJGpV1 t4LfcdT5Wpx3cTS qBqZGXKC3r3gKzM VcHkNboo3yEMyRQ p7HbBgP38KKZbLx riXY61CLvRQmwU6 ptdboW9TK1Q64Ad gFGddtKfcmLXgd5 4rhBb1jha28N6ZR pKh1Fk6oday8CmP 1T8NoLsgkBVr115 nBEyHgTzYj9C9yU 6AppEJ7Bz5bsUVg TbTrkdoGDjA5SNk Fa9XEK2Cnn7vTBU Zw1kpX3QSz8PVUo Yo2AM3eewmN6Wp2 kUX456SbVfsTnDP ssn4gFjdMDtkyh4 pexLVwZ2MrKxsLG MacJ8JLWwnXkT67 4P356nmkanazYFK QwqTiqMPQPckt21 7aMjfHKGGBVQ1jm SqARdQyPjbM5Aoi obcgEKkRpdE1pFj 6EYmtZoKfbPB5oG 9mxS6N34wPNkDAu D2rQRoZRWC5DQxq SzvAUiXjtjgoGfB Q7dn2NcsASwZGNG dgoXGgWQMN4RJRv D5UPRqe9hiJfCNQ xp5DpDyP3sPnytf 2XofcS6AgsCRjre HrNqBNvTbAXquJ2 f4uWz6s3Yg7NUyd 9xAwtaBW46yinwa TtLV76onTm46wLk hNxciuNp4fq16kT dEr9ZwQxPbfKuvo bPGnMacyDCdhJeL tVrqpY1UBzzmGm8 ftEcbjsm7eTbzXi JmykmHFxkcpcmCY D4qvhsejpmc8TB9 DGFB77y8nf9rJog ktcftixUQrsh2M7 9iQ54KPMQqc6J4g fVeeX9zohrQyLzC 6JtEZaoehtrvtu2 SJ7jsbtERrLu2tm DZXcDSmMQjDZAYg c2DmCEppa32Wucj SqdKXbsXMLMTDPT NcHNCbVzJiW4qBF kL7SBiUNEqnYyNo Be393x1Ki8cLZU7 LucpAnTvyqYJTaP GPbSBok1izWpw7X y3x7gM8o8nSy7vv ThHnxUcwiVgStD6 hvVFxHfwjytBTxx njniKzR8wAPoFc6 akUnpK8S8zHdhyf FPCiu94XdTAoX2Y i7mnz1RpxHynyga pvbP8nWH2Xs2f1L eHBxSWvBpPP4d9B ctiGexKmC. ENDSLATEPACK.

--- CUT ABOVE THIS LINE ---

Slatepack data was also output to

/Users/workstation/.grin/main/slatepack/89fad2b4-34ec-4245-9273-f3a0aceb9fe1.S2.slatepack

The slatepack data is encrypted for the recipient only

Command 'receive' completed successfully

Step 3 : Finalize the transaction

grin-wallet -r "https://grinnode.live:3413"  finalize   
Password: 
Please paste your encoded slatepack message:
BEGINSLATEPACK. 6AbNmE1ABHEtvNg GRY6AeQp87oDMbX CkgTrZNUKVKKC2s ELpGmayfz2NHZvQ xporMXmqdWk484Y Jpp1gop1PBGCzj5 NoargL3oM8AQMFH sn9WrrbszGqvmJW BedyTnSLpddENw9 jrUT72bDNdjd4tf egoy3KjP3MzovAa 2uGKw9amNojeijt YrLS144LriokPa8 BADCDdgUnoM3g5d bt82xZghUTiNFno GR7A12hMpwkumbf J8Qrk5yKL5XxmhE EcHDxYcNyGkMsVo tnhPdGWeaD2Gg4G uNKFBGpGWgYkxVe No63FRjrCm94HrJ iVDQJ5ek9wQAVcQ 6sXf35ALP7R29kH 4uJ3zkfPKHvfU9z 5FvSrvRNynh5cQG icCfr19sZDLDHC2 H6SHLTmF7Mer8K8 6sS8Wr53kTP4XYC 7B6tFcamjkhSseq k1Sx7qfuAENSBts yPrEAZ7bLQZBR8e dUTpWJH8z9We68u FwcjUhNBUEfg5xX g64fSB3zKCffyut ZMUPbBNFrAwj6fg 2pGP9arbfxY6m18 Bjm2aqJm5EV2h3V 1i6Fo53fkhBLt2H 5DD5dcB3tZhLrYW fT75o1ov7tuvoNW Sp3uYUPUJ6oRRZa qvkeT3xdmBQjAe1 kW5XTvEHzXBD6jx oZxUpxHAutEk5LL Afhp47Du9Pmasn5 jDftNXjrQExura8 EV9DoX8xnrYHc8i AeQby5ExfUDZ8fh n1T6GMr9BiYfz3Y MeUkcyvX2X2mXrX z8LjJPCtPaYRBTx UNVAnvbd2bNTWZZ p83JcrAmpqLKed6 6jhCmKqtMQnDxpF 9akBxFqh6ZJzM6j 7hKt4shsaL7yd6M 19zbcGNpcKn6Aoz kethEKqj7yetfuo FwGRAGUVTx8PvtY 35S7YRpwCDRScU6 8QKwWbRcx34EpYB cyGoBEzCSKiJH2s dtQQTkpqWc8Ebwb f1Ja5ESEqtVxCcq 6bb1F1DN9XJGpV1 t4LfcdT5Wpx3cTS qBqZGXKC3r3gKzM VcHkNboo3yEMyRQ p7HbBgP38KKZbLx riXY61CLvRQmwU6 ptdboW9TK1Q64Ad gFGddtKfcmLXgd5 4rhBb1jha28N6ZR pKh1Fk6oday8CmP 1T8NoLsgkBVr115 nBEyHgTzYj9C9yU 6AppEJ7Bz5bsUVg TbTrkdoGDjA5SNk Fa9XEK2Cnn7vTBU Zw1kpX3QSz8PVUo Yo2AM3eewmN6Wp2 kUX456SbVfsTnDP ssn4gFjdMDtkyh4 pexLVwZ2MrKxsLG MacJ8JLWwnXkT67 4P356nmkanazYFK QwqTiqMPQPckt21 7aMjfHKGGBVQ1jm SqARdQyPjbM5Aoi obcgEKkRpdE1pFj 6EYmtZoKfbPB5oG 9mxS6N34wPNkDAu D2rQRoZRWC5DQxq SzvAUiXjtjgoGfB Q7dn2NcsASwZGNG dgoXGgWQMN4RJRv D5UPRqe9hiJfCNQ xp5DpDyP3sPnytf 2XofcS6AgsCRjre HrNqBNvTbAXquJ2 f4uWz6s3Yg7NUyd 9xAwtaBW46yinwa TtLV76onTm46wLk hNxciuNp4fq16kT dEr9ZwQxPbfKuvo bPGnMacyDCdhJeL tVrqpY1UBzzmGm8 ftEcbjsm7eTbzXi JmykmHFxkcpcmCY D4qvhsejpmc8TB9 DGFB77y8nf9rJog ktcftixUQrsh2M7 9iQ54KPMQqc6J4g fVeeX9zohrQyLzC 6JtEZaoehtrvtu2 SJ7jsbtERrLu2tm DZXcDSmMQjDZAYg c2DmCEppa32Wucj SqdKXbsXMLMTDPT NcHNCbVzJiW4qBF kL7SBiUNEqnYyNo Be393x1Ki8cLZU7 LucpAnTvyqYJTaP GPbSBok1izWpw7X y3x7gM8o8nSy7vv ThHnxUcwiVgStD6 hvVFxHfwjytBTxx njniKzR8wAPoFc6 akUnpK8S8zHdhyf FPCiu94XdTAoX2Y i7mnz1RpxHynyga pvbP8nWH2Xs2f1L eHBxSWvBpPP4d9B ctiGexKmC. ENDSLATEPACK.
Wallet command failed: LibWallet Error: Transaction Expired

Wallet command failed: LibWallet Error: Transaction Expired

marekyggdrasil commented 3 years ago

Awesome!