evm-tx-input-decoder 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +5 -4
- data/lib/evm_tx_input/decoder.rb +2 -2
- data/lib/evm_tx_input/version.rb +1 -1
- metadata +1 -2
- data/evm-tx-input-decoder.gemspec +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbb75e3f2b806c1db276550a62f5259e441bfd32206ff208f519246844818bc4
|
4
|
+
data.tar.gz: ac9a092eceddac159565df675c02be3e21fd7ab7bddc122c8ff4ad0c445cd048
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 643b121efe7f4c3bdd10ea4d9b71cf15c5e0f86135dd64595a427ef6c0a28da29616ba9cc5dee421b0bb162f2ea15f17e5e19bd0bfcde5107f11079c6bd8dcb2
|
7
|
+
data.tar.gz: 9f21802570d70eed97cc2fcb3a4b851a008a8552caaefd7d1d0285a0abbb8555e2d6b3199c063d74a8910802d19a82124173c2d3bfaaba1d20f101a78978d394
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -23,9 +23,10 @@ The input data is `0xa9059cbb00000000000000000000000003cb76e200ba785f6008c12933a
|
|
23
23
|
The USDT token ABI can be found by [this url](http://api.etherscan.io/api?module=contract&action=getabi&address=0xdac17f958d2ee523a2206206994597c13d831ec7&format=raw)
|
24
24
|
|
25
25
|
```ruby
|
26
|
-
require '
|
26
|
+
require 'open-uri'
|
27
|
+
require 'evm_tx_input'
|
27
28
|
|
28
|
-
json = URI.open('http://api.etherscan.io/api?module=contract&action=getabi&address=0xdac17f958d2ee523a2206206994597c13d831ec7&format=raw') { |file|
|
29
|
+
json = URI.open('http://api.etherscan.io/api?module=contract&action=getabi&address=0xdac17f958d2ee523a2206206994597c13d831ec7&format=raw') { |file| file.read }
|
29
30
|
abi = JSON.parse(json)
|
30
31
|
input = '0xa9059cbb00000000000000000000000003cb76e200ba785f6008c12933aa3640536d2011000000000000000000000000000000000000000000000000000000a083712e00'
|
31
32
|
|
@@ -41,7 +42,7 @@ function.arguments
|
|
41
42
|
Following decoding procedure let's encode the previous result.
|
42
43
|
|
43
44
|
```ruby
|
44
|
-
require '
|
45
|
+
require 'evm_tx_input'
|
45
46
|
|
46
47
|
function_name = 'transfer'
|
47
48
|
types = %w[address uint256]
|
@@ -50,7 +51,7 @@ EvmTxInput::Encoder.encode_input(function_name, types, args)
|
|
50
51
|
#=> "0xa9059cbb00000000000000000000000003cb76e200ba785f6008c12933aa3640536d2011000000000000000000000000000000000000000000000000000000a083712e00"
|
51
52
|
```
|
52
53
|
|
53
|
-
For more details read the [documentation](https://rubydoc.info/github/rkotov93/evm-tx-input-decoder/main
|
54
|
+
For more details read the [documentation](https://rubydoc.info/github/rkotov93/evm-tx-input-decoder/main).
|
54
55
|
|
55
56
|
## Development
|
56
57
|
|
data/lib/evm_tx_input/decoder.rb
CHANGED
@@ -11,8 +11,8 @@ module EvmTxInput
|
|
11
11
|
|
12
12
|
# Constructor of EvmTxInput::Decoder
|
13
13
|
#
|
14
|
-
# @param abi [
|
15
|
-
def initialize(abi =
|
14
|
+
# @param abi [Array] parsed contract ABI
|
15
|
+
def initialize(abi = [])
|
16
16
|
@abi = abi
|
17
17
|
@method_definitions = method_definitions_by_id(abi)
|
18
18
|
end
|
data/lib/evm_tx_input/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evm-tx-input-decoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Kotov
|
@@ -40,7 +40,6 @@ files:
|
|
40
40
|
- LICENSE.txt
|
41
41
|
- README.md
|
42
42
|
- Rakefile
|
43
|
-
- evm-tx-input-decoder.gemspec
|
44
43
|
- lib/evm_tx_input.rb
|
45
44
|
- lib/evm_tx_input/argument.rb
|
46
45
|
- lib/evm_tx_input/decoder.rb
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'lib/evm_tx_input/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = 'evm-tx-input-decoder'
|
7
|
-
spec.version = EvmTxInput::VERSION
|
8
|
-
spec.authors = ['Ruslan Kotov']
|
9
|
-
spec.email = ['rkotov93@gmail.com']
|
10
|
-
|
11
|
-
spec.summary = 'Simple gem to decode and encode EVM transactions input data'
|
12
|
-
spec.description = 'This is a simple gem that helps decoding and encoding transactions input data'\
|
13
|
-
'for EVM based blockchains like Ethereum and Tron.'
|
14
|
-
spec.homepage = 'https://github.com/rkotov93/evm-tx-input-decoder'
|
15
|
-
spec.license = 'MIT'
|
16
|
-
spec.required_ruby_version = '>= 2.7.0'
|
17
|
-
|
18
|
-
# spec.metadata['allowed_push_host'] = "Set to your gem server 'https://example.com'"
|
19
|
-
|
20
|
-
spec.metadata['homepage_uri'] = spec.homepage
|
21
|
-
spec.metadata['source_code_uri'] = 'https://github.com/rkotov93/evm-tx-input-decoder'
|
22
|
-
spec.metadata['changelog_uri'] = 'https://github.com/rkotov93/evm-tx-input-decoder/CHANGELOG.md'
|
23
|
-
|
24
|
-
# Specify which files should be added to the gem when it is released.
|
25
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
26
|
-
spec.files = Dir.chdir(__dir__) do
|
27
|
-
`git ls-files -z`.split("\x0").reject do |f|
|
28
|
-
(File.expand_path(f) == __FILE__) || f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor])
|
29
|
-
end
|
30
|
-
end
|
31
|
-
spec.bindir = 'exe'
|
32
|
-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
33
|
-
spec.require_paths = %w[lib]
|
34
|
-
|
35
|
-
# Uncomment to register a new dependency of your gem
|
36
|
-
spec.add_dependency 'eth', '~> 0.5'
|
37
|
-
|
38
|
-
# For more information and examples about making a new gem, check out our
|
39
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
40
|
-
end
|