Skip to content

Commit

Permalink
Release: v0.0.16 (#146)
Browse files Browse the repository at this point in the history
### What changed? Why?

## [0.0.16] - 2024-08-14

- Add support for gasless transfers. Initially only supporting USDC
sends on Base mainnet.
- Add support for list historical balances for an asset of an address.
- Add support for Ethereum-Mainnet and Polygon-Mainnet

#130
#132
#137
#134
#142
#143

#### Qualified Impact
<!-- Please evaluate what components could be affected and what the
impact would be if there was an
error. How would this error be resolved, e.g. rollback a deploy, push a
new fix, disable a feature
flag, etc... -->

---------

Co-authored-by: xinyu-li-cb <142266583+xinyu-li-cb@users.noreply.github.com>
Co-authored-by: Chaoya Ji <chaoya.ji@coinbase.com>
Co-authored-by: CJ_Andy <109100734+chaoyaji-cb@users.noreply.github.com>
Co-authored-by: Dean Galvin <dean.galvin@coinbase.com>
Co-authored-by: deangalvin-cb <143219592+deangalvin-cb@users.noreply.github.com>
Co-authored-by: Jayasudha Jayakumaran <121061531+jazz-cb@users.noreply.github.com>
  • Loading branch information
7 people authored Aug 14, 2024
1 parent 5b98f29 commit a1f9ee5
Show file tree
Hide file tree
Showing 196 changed files with 41,246 additions and 6,076 deletions.
35 changes: 32 additions & 3 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
require:
- rubocop-rspec

AllCops:
NewCops: disable
NewCops: enable
SuggestExtensions: false
TargetRubyVersion: 2.7
Exclude:
# Exclude autogenerated files.
- "lib/coinbase/client.rb"
- "lib/coinbase/client/**/*"
Gemspec/DevelopmentDependencies:
Enabled: false
# Tests can be long.
Metrics/BlockLength:
Enabled: false
Enabled: true
Exclude:
- "spec/**/*"
- "*.gemspec"
# Classes can be long.
Metrics/ClassLength:
Max: 1000
Max: 300
Exclude:
- "lib/coinbase/wallet.rb" # TODO: Refactor wallet to remove delegatable functions.

# Cyclomatic complexity is not a good measure of code quality.
Metrics/CyclomaticComplexity:
Max: 50
Expand All @@ -26,3 +37,21 @@ Metrics/ParameterLists:
# Assignment branch conditions seem reasonable.
Metrics/AbcSize:
Max: 50

RSpec/ExampleLength:
Max: 10

RSpec/MultipleMemoizedHelpers:
Max: 25

RSpec/NestedGroups:
Max: 4

RSpec/SpecFilePathFormat:
Exclude:
- "spec/unit/coinbase/address/*"
- "spec/unit/coinbase/errors_spec.rb"

RSpec/SpecFilePathSuffix:
Exclude:
- "spec/e2e/end_to_end.rb"
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

## [0.0.16] - 2024-08-14

- Add support for gasless transfers. Initially only supporting USDC sends on Base mainnet.
- Add support for list historical balances for an asset of an address.
- Add support for Ethereum-Mainnet and Polygon-Mainnet
- Add support for retrieving historical staking balances information
- Add USD value conversion details to the StakingReward object

## [0.0.14] - 2024-08-05

### Added
Expand Down
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,19 @@ t = w1.transfer(0.00001, :eth, w2).wait!
puts "Transfer successfully completed: #{t}"
```

### Gasless USDC Transfers

To transfer USDC without needing to hold ETH for gas, you can use the `transfer` method with the `gasless` option set to `true`.

```ruby
# Create a new wallet w3 to transfer funds to.
w3 = u.create_wallet

puts "Wallet successfully created: #{w3}"

t = w1.transfer(0.00001, :usdc, w3, gasless: true).wait!
```

## Listing Transfers

```
Expand Down
3 changes: 2 additions & 1 deletion coinbase.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Gem::Specification.new do |spec|
spec.name = 'coinbase-sdk'
spec.version = '0.0.14'
spec.version = '0.0.16'
spec.authors = ['Yuga Cohler']
spec.files = Dir['lib/**/*.rb']
spec.summary = 'Coinbase Ruby SDK'
Expand Down Expand Up @@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'rake'
spec.add_development_dependency 'rspec'
spec.add_development_dependency 'rubocop', '1.63.1' # Pin to ensure consistent linting
spec.add_development_dependency 'rubocop-rspec'
spec.add_development_dependency 'simplecov'
spec.add_development_dependency 'yard', '0.9.36' # Pin to ensure consistent documentation generation
spec.add_development_dependency 'yard-markdown'
Expand Down
217 changes: 168 additions & 49 deletions docs/Coinbase.html

Large diffs are not rendered by default.

Loading

0 comments on commit a1f9ee5

Please sign in to comment.