Skip to content

Latest commit

 

History

History
 
 

redeem-failed-retryable

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Redeem Failed Retryable Tickets Tutorial

Retryable tickets are the Arbitrum protocol’s canonical method for passing generalized messages from Ethereum to Arbitrum. A retryable ticket is an L2 message encoded and delivered by L1; if gas is provided, it will be executed immediately. If no gas is provided or the execution reverts, it will be placed in the L2 retry buffer, where any user can re-execute for some fixed period (roughly one week). You can use exec-createFailedRetryable script to create a failed retryable ticket and then use redeem-failed-retryable which shows you how to redeem (re-execute) a ticket that is sitting in the L2 retry buffer.

See ./exec-redeem.js for inline explanation.

Run Demo:

To create a failed retryable ticket:

 yarn run createFailedRetryable

To redeem a failed retryable ticket:

 yarn redeemFailedRetryable --txhash 0xmytxnhash
  • 0xmytxnhash is expected to be the transaction hash of an L1 transaction that triggered an L1 to L2 message.

Config Environment Variables

Set the values shown in .env-sample as environmental variables. To copy it into a .env file:

cp .env-sample .env

(you'll still need to edit some variables, i.e., DEVNET_PRIVKEY)

More info

For more information on the retryable tickets, see our developer documentation on messaging between layers.