Skip to content

Releases: q9f/eth.rb

lib eth.rb v0.5.11 beta

03 Aug 15:41
@q9f q9f
v0.5.11
ececa12
Compare
Choose a tag to compare

lib eth.rb v0.5.11 is a service release to increase performance and stability.

what's changed

  • tested with Ruby 3.2 by @kurotaky in #199
  • docs: update changelog for 0.5.10 by @q9f in #200
  • eth/client: rewrite send to send_request by @q9f in #201
  • eth/client: deduplicate code by @q9f in #202
  • eth/abi: split abi class into encoder and decoder by @q9f in #203
  • eth/api: update execution apis to latest spec by @q9f in #204
  • eth/util: fix compressed public key to address by @an-lee in #206
  • Abi.decoder handles arrays of string and bytes by @randoum in #207
  • Add moonbeam networks by @a-moreira in #209
  • Manually overwrite solc path by @randoum in #212
  • eth/solidity: add docs for solc path override by @q9f in #213
  • deps: update secp256k1 to 6 by @q9f in #214
  • Manual default_account by @randoum in #215
  • eth/abi: add abicoder gem tests collection by @q9f in #218
  • ens/resolver: remove pending for etc coin type by @q9f in #219
  • deps: require forwardable for contracts by @q9f in #227
  • eth/contract: ensure contract name is title case by @q9f in #228
  • docs: minor fixups by @q9f in #229
  • Checking userinfo with the uri method by @kurotaky in #233
  • eth/solidity: enable --via-ir by @q9f in #232
  • eth/client: remove default gas limit attribute by @q9f in #235
  • eth/tx: update tx initcode cost for shanghai by @q9f in #237
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.4.1 to 4.4.2 by @dependabot in #240
  • eth/abi: allow encoding address types by @q9f in #242
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.4.2 to 4.4.3 by @dependabot in #244
  • Fix the decoding of unsigned transactions by @pienkowb in #243
  • spec: run rufo by @q9f in #245

new contributors

Full Changelog: v0.5.10...v0.5.11

lib eth.rb v0.5.10 beta

02 Jan 17:00
@q9f q9f
v0.5.10
94a168b
Compare
Choose a tag to compare

lib eth.rb v0.5.10 is a service release to increase performance and stability.

  • fixes a bug to correctly select the contract function #191
  • provide a Client.resolve_ens function (and properly resolve ens) #192
  • provide a Client.transfer_erc20{,_and_wait} function #197

what's changed

  • docs: update changelog for 0.5.9 by @q9f in #187
  • docs: add coc by @q9f in #188
  • docs: add contribution guidelines by @q9f in #189
  • docs: create security policy by @q9f in #190
  • eth/client: correctly select functions by @q9f in #191
  • eth/ens: actually resolve ens names instead of returning owner by @q9f in #192
  • eth/client: do not allow accessing local accounts on remote connections by @q9f in #193
  • eth/contract: ensure address arrays support by @q9f in #194
  • docs: update readme by @q9f in #195
  • eth/client: add transfer_erc20 function by @q9f in #197
  • eth/ens: restore docs for normalize by @q9f in #198

full changelog: v0.5.9...v0.5.10

lib eth.rb v0.5.9 beta

21 Dec 18:45
@q9f q9f
v0.5.9
f878ece
Compare
Choose a tag to compare

lib eth.rb v0.5.9 is a service release to increase performance and stability.

  • adds new chains like holesovice or goerli arbitrum #181
  • adds Client.tx_succeeded? and raises if a Client.transact_and_wait reverts #173 #183 #186
  • adds support for moonbeam (required camel case) #172
  • adds groundwork for dynamic abi struct encoding #135 #185

what's changed

  • ci: add libyaml on ubuntu by @q9f in #175
  • solidity: sanitize the contract path before compiling by @q9f in #176
  • docs: fix readme workflow badge by @q9f in #178
  • eth: happy new 2023 by @q9f in #179
  • docs: update changelog for 0.5.8 by @q9f in #180
  • eth/chain: update available chains by @q9f in #181
  • eth: rename functions prefixed with is_ by @q9f in #182
  • eth/client: add tx_succeeded? by @a-moreira in #173
  • eth/client: support camel case (convert before sending the tx) by @a-moreira in #172
  • eth/client: add test for tx_succeeded? by @q9f in #183
  • eth/client: dup params to prevent marshalling on client obj by @q9f in #184
  • eth/abi: dynamic struct encoding (#135) by @peter-chung-xfers in #185
  • eth/client: raise an error if a contract interaction reverts by @q9f in #186

new contributors

full changelog: v0.5.8...v0.5.9

lib eth.rb v0.5.8 beta

30 Nov 07:22
@q9f q9f
v0.5.8
ec50ed1
Compare
Choose a tag to compare

lib eth.rb v0.5.8 is a service release to increase performance and stability.

  • the client now supports basic ens resolver support.
  • you can now supply an amount for payable contract functions.
  • note: using the client's .transfer function now requires to provide **kwargs instead of parameters:
client.transfer("0c53FFA57Ec554451315c2568d22477dB8e71356", 1 * Eth::Unit::ETHER, sender_key: my_key)

what's changed

  • docs: update changelog by @q9f in #160
  • gem: bump version to 0.5.8 by @q9f in #161
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.4.0 to 4.4.1 by @dependabot in #162
  • gem: bump required ruby version to 3 by @q9f in #165
  • client: remove invalid parameters from call_raw method by @dansimpson in #166
  • client: add ENS resolve support by @dansimpson in #150
  • client: ability for call contract methods with specific transaction value was added by @d4mk0 in #168
  • client: ability to manual set nonce of tx for transfer, deploy, transact methods was added. by @d4mk0 in #169
  • client: satisfy yard docs for transfer kwargs by @q9f in #170

new contributors

full changelog: v0.5.7...v0.5.8

lib eth.rb v0.5.7 beta

31 Oct 14:18
@q9f q9f
v0.5.7
68f0df7
Compare
Choose a tag to compare

lib eth.rb v0.5.7 is a service release to increase performance and stability.

  • the client now supports basic http authentication with username and password.
  • default fees were increased to prevent forever pending transactions.

what's changed

  • gem: bump version to 0.5.7 by @q9f in #131
  • docs: update CHANGELOG by @q9f in #132
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.3.3 to 4.3.4 by @dependabot in #133
  • chore: add polygon chain test case by @geeknees in #146
  • fixed to return uint256[] correctly when passed as type by @geeknees in #147
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.3.4 to 4.4.0 by @dependabot in #140
  • fix Eth:Tx.decode for transaction with s length < 64 chars by @Regul777 in #148
  • eth/client: add http basic support auth by @johnnybutler7 in #151
  • eth/client: rename http basic to http auth by @q9f in #154
  • eth/signature: fix allowing ledger v values of 0 by @q9f in #155
  • docs: move readme usage to wiki by @q9f in #156
  • eth/client: update default fees by @q9f in #157
  • eth/client: fix api documentation by @q9f in #158
  • docs: add readme header for yard by @q9f in #159

known issues

  • transferring erc-20 tokens or nfts is not very straightforward #145
  • passing arrays to contract functions is currently not possible #143
  • moonbeam clients do not accept snake case parameters #141
  • currently, you cannot call payable methods #137
  • dynamic nested arrays are still unimplemented for eip-712 #127

new contributors

full changelog: v0.5.6...v0.5.7

lib eth.rb v0.5.6 beta

01 Jul 09:29
@q9f q9f
v0.5.6
672f501
Compare
Choose a tag to compare

lib eth.rb v0.5.6 is a service release to increase performance and stability.

  • the client now allows to override the gas limit for contract deployments in case you experience out-of-gas issues.
  • the abi encoder now supports dynamic arrays.

what's changed

  • eth/client: include contract constructor args when estimating intrinsic gas by @dansimpson in #111
  • eth/abi: allow parsing numerics from string inputs by @q9f in #112
  • eth/signature: fix prefix_message for multibyte characters by @kudohamu in #120
  • eth/abi: raise error if numeric comes as string by @q9f in #114
  • eth/client: add gas limit override option for contract deployments by @dansimpson in #128
  • eth/abi: support dynamic array encoding by @peter-chung-xfers in #122
  • gem: bump version to 0.5.6 by @q9f in #130

new contributors

full changelog: v0.5.5...v0.5.6

lib eth.rb v0.5.5 beta

30 May 15:07
@q9f q9f
v0.5.5
1f41b24
Compare
Choose a tag to compare

lib eth.rb v0.5.5 is a service release to increase performance and stability.

  • the client allows now to pass constructor arguments to a contract deployment.
  • matic and mumbai networks were added.

what's changed

  • gem: bump version to 0.5.5 by @q9f in #89
  • docs: update changelog for 0.5.4 by @q9f in #90
  • ci: add weekly dependency checks by @q9f in #91
  • build(deps): bump github/codeql-action from 1 to 2 by @dependabot in #92
  • build(deps): bump actions/checkout from 2 to 3 by @dependabot in #93
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.1.7 to 4.3.3 by @dependabot in #94
  • Add missing def_delegator for constructor_inputs by @beacoding in #96
  • eth/abi: fix handling of hex values for byte strings by @q9f in #100
  • eth/abi: add a testcase for handling hex and bin strings by @q9f in #101
  • Fix Eth::Abi::DecodingError in call method by @kurotaky in #105
  • Enable passing in constructor params to deploy by @beacoding in #106
  • eth/chain: add matic/mumbai by @q9f in #107
  • eth: some docs and cleanups by @q9f in #108

new contributors

full changelog: v0.5.4...v0.5.5

lib eth.rb v0.5.4 beta

16 May 12:43
@q9f q9f
v0.5.4
5243c13
Compare
Choose a tag to compare

lib eth.rb v0.5.4 is a service release to increase performance and stability.

⚠️ there is a breaking change introduced in the ::Contract api, namely ::Contract.create was replaced by .from_file, .from_abi, and .from_bin. #83

lastly, this release adds eip 1271 support for smart-contract authentication, see ::Client.is_valid_signature. #80

what's changed

  • docs: update changelog by @q9f in #77
  • gem: bump version to 0.5.4 by @q9f in #78
  • ci: bump ruby version to 3.1 on ci by @q9f in #79
  • Fix typos by @kurotaky in #81
  • lib: method for eip-1271 by @q9f in #80
  • eth/contract: allow creating from file, abi, bin by @q9f in #83
  • eth/client: fix account requirement for client.call() by @q9f in #85
  • Add dependency support for openssl 2.2 and greater, including 3.x (#87) by @Lasvad in #88

new contributors

full changelog: v0.5.3...v0.5.4

lib eth.rb v0.5.3 beta

06 May 13:31
@q9f q9f
v0.5.3
07befbe
Compare
Choose a tag to compare

lib eth.rb v0.5.3 is a feature release adding support for smart contracts in ruby.

contract = Eth::Contract.create(file: 'spec/fixtures/contracts/dummy.sol')
# => #<Eth::Contract::Dummy:0x00007fbeee936598>
cli = Eth::Client.create "/tmp/geth.ipc"
# => #<Eth::Client::Ipc:0x00007fbeee946128 @gas_limit=21000, @id=0, @max_fee_per_gas=0.2e11, @max_priority_fee_per_gas=0, @path="/tmp/geth.ipc">
address = cli.deploy_and_wait(contract)
# => "0x2f2faa160420cee087ded96bad52475147136bd8"
cli.transact_and_wait(contract, "set", 1234)
# => "0x49ca4c0a5729da19a1d2574de9a444a9cd3219bdad81745b54f9cf3bb83b6a06"
cli.call(contract, "get")
# => 1234

what's changed

new contributors

full changelog: v0.5.2...v0.5.3

lib eth.rb v0.5.2 beta

28 Mar 16:40
@q9f q9f
v0.5.2
c1169ea
Compare
Choose a tag to compare

lib eth.rb v0.5.2 is a feature release adding support for solidity compiler bindings.

solc = Eth::Solidity.new
# => #<Eth::Solidity:0x000055f05040c6d0 @compiler="/usr/bin/solc">
contract = solc.compile "spec/fixtures/contracts/greeter.sol"
# => {"Greeter"=>
#   {"abi"=>
#     [{"inputs"=>[{"internalType"=>"string", "name"=>"message", "type"=>"string"}], "stateMutability"=>"nonpayable", "type"=>"constructor"},
#      {"inputs"=>[], "name"=>"greet", "outputs"=>[{"internalType"=>"string", "name"=>"", "type"=>"string"}], "stateMutability"=>"view", "type"=>"function"},
#      {"inputs"=>[], "name"=>"kill", "outputs"=>[], "stateMutability"=>"nonpayable", "type"=>"function"}],
#    "bin"=>
#     "6080604052348015...6c634300080c0033"},
#  "Mortal"=>
#   {"abi"=>[{"inputs"=>[], "stateMutability"=>"nonpayable", "type"=>"constructor"}, {"inputs"=>[], "name"=>"kill", "outputs"=>[], "stateMutability"=>"nonpayable", "type"=>"function"}],
#    "bin"=>
#     "6080604052348015...6c634300080c0033"}}

now, contract["Greeter"]["bin"] could be directly used to deploy the contract as Eth::Tx payload.

what's Changed

  • eth: remove duplicated code by @q9f in #62
  • ci: allow coverage to drop to 99% without failing by @q9f in #63
  • docs: update readme by @q9f in #64
  • docs: add wiki to readme by @q9f in #65
  • eth/solidity: add solidity compiler bindings by @q9f and @kurotaky in #66

new contributors

full changelog: v0.5.1...v0.5.2