Skip to content

Releases: rafalum/optimism-python

Release v0.3.1

Choose a tag to compare

@rafalum rafalum released this 01 Nov 14:00

Minor release that adds the Base network to the SDK. Additionally, adds a Chains object that represents the different networks and abstracts away the chain IDs.

Release v0.3.0 [Fault Proofs]

Choose a tag to compare

@rafalum rafalum released this 02 Jul 14:03
2beabb8

This is a major new release that updates the SDK to the changes caused by the introduction of the fault proofs. In particular, the following changes have been made:

  • added the DisputeGameFactory and FaultDisputeGame contracts
  • proving a withdrawal now queries the DisputeGameFactory instead of the L2OutputOracle. This has the added consequence that proving a withdrawal does not work anymore for OP chains that did not upgrade to fault proofs yet.
  • changed the OptimismPortal to the new version

IMPORTANT: From now on, optimism-python only supports OP chains that moved to the new upgrade that introduce fault proofs. If you need to interact with a chain that did not upgrade yet, downgrade optimism-python to the previous release.

Release: v0.2.3

Choose a tag to compare

@rafalum rafalum released this 14 Feb 09:05

Implemented the following helper functions in the CrossChainMessenger:

  • get_eth_deposits_by_address: returns a list of ETH deposits (ETH bridged from L1 to L2) by the given address
  • get_erc20_deposits_by_address: returns a list of ERC20 deposits (ERC20 bridged from L1 to L2) by the given address
  • get_eth_withdrawls_by_address: returns a list of ETH withdrawls (ETH bridged from L2 to L1) by the given address
  • get_erc20_withdrawls_by_address: returns a list of ERC20 withdrawls (ERC20 bridged from L2 to L1) by the given address

Release: v0.2.2

Choose a tag to compare

@rafalum rafalum released this 05 Dec 18:18

Minor update that fixes a bug in the StandardBridge contract. Further, it unifies the interface for the following functions in the CrossChainMessenger:

  • deposit_eth / deposit_erc20: deposits ETH/ERC20 to the account_l1
  • deposit_eth_to / deposit_erc20_to: deposits ETH/ERC20 to whoever is specified in the to argument
  • withdraw_eth / withdraw_erc20: withdraws ETH/ERC20 to the account_l2
  • withdraw_eth_to / withdraw_erc20_to: withdraws ETH/ERC20 to whoever is specified in the to argument

So if one wants to deposit ETH to the account_l2, the deposit_eth_to function has to be used with the to argument set to account_l2.address.

Release: v0.2.1

Choose a tag to compare

@rafalum rafalum released this 05 Dec 17:32

Minor update that gets rid of the network dependency and now uses the L1 and L2 chain IDs to determine which accounts, providers and addresses to use.

Changelog:

  • refactored address.json into config.json file which contains all the L1/L2 pairs with their corresponding addresses
  • remove network parameter in contracts and CrossChainMessenger

Release: v0.2.0

Choose a tag to compare

@rafalum rafalum released this 22 Nov 19:40

This is a major new release bringing the following new capabilities to optimism-python:

  • deposit supported ERC20 tokens to L2
  • withdraw supported ERC20 tokens to L1
  • test cases for ETH deposits and withdrawls

Here are some of its limitations which will be worked on in the future:

  • various utility functions in the CrossChainMessenger not implemented yet (i.e. get_deposits_by_address, get_withdrawls_by_address etc.)
  • no test cases for ERC20 deposits and withdrawls

Initial Release

Choose a tag to compare

@rafalum rafalum released this 27 Oct 19:22

This is the initial release for optimism-python. Here are some of its functionalities:

  • interact with various Optimism contracts through a Python wrapper (see below for the list of contracts)
  • deposit ETH to the L2 chain
  • withdraw ETH from the L2 chain

The following contracts are implemented:

  • OptimismPortal
  • L1StandardBridge / L2StandardBridge
  • L1CrossChainMessenger /L2CrossChainMessenger
  • L2OutputOracle
  • L2ToL1MessagePasser

Here are some of its limitations which will be worked on in the future:

  • no deposits and withdrawls of ERC20 tokens
  • various utility functions in the CrossChainMessenger not implemented yet (i.e. get_deposits_by_address, get_withdrawls_by_address etc.)
  • not unit tested