Skip to content

Releases: rafalum/optimism-python

Release v0.3.1

01 Nov 14:00
Compare
Choose a tag to compare

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]

02 Jul 14:03
2beabb8
Compare
Choose a tag to compare

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

14 Feb 09:05
Compare
Choose a tag to compare

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

05 Dec 18:18
Compare
Choose a tag to compare

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

05 Dec 17:32
Compare
Choose a tag to compare

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

22 Nov 19:40
Compare
Choose a tag to compare

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

27 Oct 19:22
Compare
Choose a tag to compare

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