ton_sdk_client 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +46 -0
- data/LICENSE +201 -0
- data/README.md +235 -0
- data/lib/ton_sdk_client.rb +6 -0
- data/lib/ton_sdk_client/abi.rb +956 -0
- data/lib/ton_sdk_client/boc.rb +344 -0
- data/lib/ton_sdk_client/client.rb +208 -0
- data/lib/ton_sdk_client/client_context.rb +51 -0
- data/lib/ton_sdk_client/config.rb +108 -0
- data/lib/ton_sdk_client/crypto.rb +1325 -0
- data/lib/ton_sdk_client/debot.rb +466 -0
- data/lib/ton_sdk_client/helper.rb +20 -0
- data/lib/ton_sdk_client/interop.rb +230 -0
- data/lib/ton_sdk_client/net.rb +452 -0
- data/lib/ton_sdk_client/processing.rb +257 -0
- data/lib/ton_sdk_client/tvm.rb +264 -0
- data/lib/ton_sdk_client/types.rb +44 -0
- data/lib/ton_sdk_client/utils.rb +76 -0
- data/lib/ton_sdk_client/version.rb +5 -0
- metadata +134 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
module TonSdk
|
2
|
+
class ResultOfConvertAddress
|
3
|
+
attr_reader :address
|
4
|
+
|
5
|
+
def initialize(a)
|
6
|
+
@address = a
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class SdkError < StandardError
|
11
|
+
attr_reader :code, :message, :data
|
12
|
+
|
13
|
+
def initialize(code: nil, message: nil, data: nil)
|
14
|
+
@code = code
|
15
|
+
@message = message
|
16
|
+
@data = data
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class NativeLibResponsetResult
|
21
|
+
attr_reader :result, :error
|
22
|
+
|
23
|
+
def initialize(result: nil, error: nil)
|
24
|
+
if !result.nil? && !error.nil?
|
25
|
+
raise ArgumentError.new('only either argument, result or error, should be specified')
|
26
|
+
elsif !result.nil?
|
27
|
+
@result = result
|
28
|
+
elsif !error.nil?
|
29
|
+
@error = SdkError.new(
|
30
|
+
code: error["code"],
|
31
|
+
message: error["message"],
|
32
|
+
data: error["data"]
|
33
|
+
)
|
34
|
+
else
|
35
|
+
raise ArgumentError.new('some arguments are wrong; provide either result or error')
|
36
|
+
end
|
37
|
+
|
38
|
+
self
|
39
|
+
end
|
40
|
+
|
41
|
+
def success? = !@result.nil?
|
42
|
+
def failure? = !@error.nil?
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
module TonSdk
|
2
|
+
module Utils
|
3
|
+
|
4
|
+
#
|
5
|
+
# types
|
6
|
+
#
|
7
|
+
|
8
|
+
class AddressStringFormat
|
9
|
+
TYPES = [:account_id, :hex, :base64]
|
10
|
+
attr_reader :type_, :url, :test_, :bounce
|
11
|
+
|
12
|
+
def initialize(type_:, url: nil, test_: nil, bounce: nil)
|
13
|
+
unless TYPES.include?(type_)
|
14
|
+
raise ArgumentError.new("type #{type_} is unknown; known types: #{TYPES}")
|
15
|
+
end
|
16
|
+
|
17
|
+
@type_ = type_
|
18
|
+
if @type_ == :base64
|
19
|
+
@url = url
|
20
|
+
@test_ = test_
|
21
|
+
@bounce = bounce
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_h
|
26
|
+
{
|
27
|
+
type: Helper.sym_to_capitalized_case_str(@type_),
|
28
|
+
url: @url,
|
29
|
+
test: @test_,
|
30
|
+
bounce: @bounce
|
31
|
+
}
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class ParamsOfConvertAddress
|
36
|
+
attr_reader :address, :output_format
|
37
|
+
|
38
|
+
def initialize(address:, output_format:)
|
39
|
+
@address = address
|
40
|
+
@output_format = output_format
|
41
|
+
end
|
42
|
+
|
43
|
+
def to_h
|
44
|
+
{
|
45
|
+
address: @address,
|
46
|
+
output_format: @output_format.to_h
|
47
|
+
}
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
class ResultOfConvertAddress
|
52
|
+
attr_reader :address
|
53
|
+
|
54
|
+
def initialize(a)
|
55
|
+
@address = a
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
#
|
61
|
+
# functions
|
62
|
+
#
|
63
|
+
|
64
|
+
def self.convert_address(ctx, prm)
|
65
|
+
Interop::request_to_native_lib(ctx, "utils.convert_address", prm.to_h.to_json) do |resp|
|
66
|
+
if resp.success?
|
67
|
+
yield NativeLibResponsetResult.new(
|
68
|
+
result: Utils::ResultOfConvertAddress.new(resp.result["address"])
|
69
|
+
)
|
70
|
+
else
|
71
|
+
yield resp
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
metadata
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ton_sdk_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.7.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alex Maslakov
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-03-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ffi
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: concurrent-ruby
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.1.7
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.1.7
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.4'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '13.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '13.0'
|
83
|
+
description: TON SDK client library written in Ruby and to be used as a Ruby gem,
|
84
|
+
for tonlabs.io
|
85
|
+
email: alex@serendipia.email
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files:
|
89
|
+
- README.md
|
90
|
+
- LICENSE
|
91
|
+
files:
|
92
|
+
- CHANGELOG.md
|
93
|
+
- LICENSE
|
94
|
+
- README.md
|
95
|
+
- lib/ton_sdk_client.rb
|
96
|
+
- lib/ton_sdk_client/abi.rb
|
97
|
+
- lib/ton_sdk_client/boc.rb
|
98
|
+
- lib/ton_sdk_client/client.rb
|
99
|
+
- lib/ton_sdk_client/client_context.rb
|
100
|
+
- lib/ton_sdk_client/config.rb
|
101
|
+
- lib/ton_sdk_client/crypto.rb
|
102
|
+
- lib/ton_sdk_client/debot.rb
|
103
|
+
- lib/ton_sdk_client/helper.rb
|
104
|
+
- lib/ton_sdk_client/interop.rb
|
105
|
+
- lib/ton_sdk_client/net.rb
|
106
|
+
- lib/ton_sdk_client/processing.rb
|
107
|
+
- lib/ton_sdk_client/tvm.rb
|
108
|
+
- lib/ton_sdk_client/types.rb
|
109
|
+
- lib/ton_sdk_client/utils.rb
|
110
|
+
- lib/ton_sdk_client/version.rb
|
111
|
+
homepage: https://github.com/radianceteam/ton-client-ruby
|
112
|
+
licenses:
|
113
|
+
- MIT
|
114
|
+
metadata: {}
|
115
|
+
post_install_message:
|
116
|
+
rdoc_options: []
|
117
|
+
require_paths:
|
118
|
+
- lib
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '3.0'
|
124
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
requirements: []
|
130
|
+
rubygems_version: 3.2.3
|
131
|
+
signing_key:
|
132
|
+
specification_version: 4
|
133
|
+
summary: TON SDK client library, in Ruby and for Ruby
|
134
|
+
test_files: []
|