Class: TonSdkRuby::TonCenter

Inherits:
Object
  • Object
show all
Extended by:
TonSdkRuby
Includes:
TonSdkRuby
Defined in:
lib/ton-sdk-ruby/providers/toncenter.rb

Constant Summary collapse

URL =
'https://toncenter.com/api/v2/jsonRPC'

Constants included from TonSdkRuby

DEPTH_BITS, FLAG_BOUNCEABLE, FLAG_NON_BOUNCEABLE, FLAG_TEST_ONLY, HASH_BITS, INT32_MAX, INT32_MIN, LEAN_BOC_MAGIC_PREFIX, LEAN_BOC_MAGIC_PREFIX_CRC, REACH_BOC_MAGIC_PREFIX, VERSION

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from TonSdkRuby

augment, base64_to_bytes, bits_to_big_int, bits_to_big_uint, bits_to_bytes, bits_to_hex, bits_to_int_uint, breadth_first_sort, bytes_compare, bytes_needed_for_words_bip39, bytes_to_base64, bytes_to_bits, bytes_to_data_string, bytes_to_hex, bytes_to_string, bytes_to_uint, crc16, crc16_bytes_be, crc32c, crc32c_bytes_le, depth_first_sort, deserialize, deserialize_cell, deserialize_fift, deserialize_header, generate_words_bip39, get_mapper, hex_to_bits, hex_to_bytes, hex_to_data_string, read_json_from_link, read_post_json_from_link, require_type, rollback, serialize, serialize_cell, sha256, sha512, sign_cell, slice_into_chunks, string_to_bytes, uint_to_hex, validate_library_reference, validate_merkle_proof, validate_merkle_update, validate_ordinary, validate_pruned_branch

Constructor Details

#initialize(url = nil, api_key) ⇒ TonCenter

Returns a new instance of TonCenter.



10
11
12
13
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 10

def initialize(url = nil, api_key)
  @url = url || URL
  @api_key = api_key
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



8
9
10
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 8

def api_key
  @api_key
end

#urlObject

Returns the value of attribute url.



8
9
10
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 8

def url
  @url
end

Instance Method Details

#estimate_fee(address, body, init_code, init_data, ignore_chksig = false) ⇒ Object



61
62
63
64
65
66
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 61

def estimate_fee(address, body, init_code, init_data, ignore_chksig = false)
  params = {
    address: address, body: body, init_code: init_code, init_data: init_data, ignore_chksig: ignore_chksig
  }
  send_request('estimateFee', params)
end

#get_address_balance(address) ⇒ Object



42
43
44
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 42

def get_address_balance(address)
  send_request('getAddressBalance', {address: address})
end

#get_address_information(address) ⇒ Object



27
28
29
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 27

def get_address_information(address)
  send_request('getAddressInformation', {address: address})
end

#get_address_state(address) ⇒ Object



46
47
48
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 46

def get_address_state(address)
  send_request('getAddressState', {address: address})
end

#get_extended_address_information(address) ⇒ Object



38
39
40
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 38

def get_extended_address_information(address)
  send_request('getExtendedAddressInformation', {address: address})
end

#get_token_data(address) ⇒ Object



50
51
52
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 50

def get_token_data(address)
  send_request('getTokenData', {address: address})
end

#get_transactions(address, archival, limit, lt, hash, to_lt) ⇒ Object



31
32
33
34
35
36
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 31

def get_transactions(address, archival, limit, lt, hash, to_lt)
  params = {
    address: address, archival: archival, limit: limit, lt: lt, hash: hash, to_lt: to_lt
  }
  send_request('getTransactions', params)
end

#run_get_method(address, method, stack = []) ⇒ Object



54
55
56
57
58
59
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 54

def run_get_method(address, method, stack = [])
  params = {
    address: address, method: method, stack: stack
  }
  send_request('runGetMethod', params)
end

#send_boc(boc) ⇒ Object



23
24
25
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 23

def send_boc(boc)
  send_request('sendBoc', {boc: boc})
end

#send_request(metod, params) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/ton-sdk-ruby/providers/toncenter.rb', line 15

def send_request(metod, params)
  headers = {
    "X-API-Key": api_key
  }
  body = jrpc_wrap(metod, params)
  read_post_json_from_link(url, body, headers)
end