near_api 0.2.2 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3321406fa6e93eb872d618a950f3d8e38f50a7f20c8398038b03ed0a11a286b7
4
- data.tar.gz: c861d3af27c33b26d3b40f9e36c964cf703a41e73d6866ff7b9a8fb7eb123964
3
+ metadata.gz: e1b94b217159dc9e689e1608c1f72c0d626418a6aaa71ec48be30cb38ce132f8
4
+ data.tar.gz: d0723e5fe8c9f55e8f3c284d2de2a1398c0df06b478b09b45d291849d1f4d24f
5
5
  SHA512:
6
- metadata.gz: 0d2cf490753804dcaf32ec7f3b2503e8588fe58ecaa11978f5b384cbc72ca778202da6b452b7ede3f541ed517fb8851cad92fcabfef0f02734e076d6c5884e41
7
- data.tar.gz: '0338419ebd09175aaa6644011f45be6e371851ca46c2f3a3f1153b8873ddecbc1fcb919012be8373f6a5c5b1dfa4f917082fafe1b234956ddda16f80b20f31a6'
6
+ metadata.gz: 6fd97f233fa84796cf260fb56e46f8207cd5e9791076d9b8244d3031ecea1f8d53972b5c52a494892798fb7d898508b01cbaee4800ad6800beeaddd048d0c8c3
7
+ data.tar.gz: c079748efc12a9064594e964c5da76c9aa4ec08b86d680061b8fa126374dbaf08d2671fc3e7e671cde9228e31316e40b12e68cc79ed6687c4b3cffd74e97d40e
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ # Change Log
2
+
3
+ ## 0.3.1
4
+ - removed NearApi::Status#final_transaction_status method
5
+ - added NearApi::Status#transaction_status_with_receipts method
6
+ - updated NearApi::Status#transaction_status arguments
data/lib/near_api/key.rb CHANGED
@@ -9,8 +9,8 @@ class NearApi::Key
9
9
  key_pair: ENV.fetch('NEAR_KEYPAIR', nil),
10
10
  public_key: ENV.fetch('NEAR_PUBLIC_KEY', nil))
11
11
  @signer_id = signer_id
12
- if (!key_pair.nil? && !public_key.nil?) || (key_pair.nil? && public_key.nil?)
13
- raise ArgumentError, 'please specify one of: key_pair or public_key'
12
+ if key_pair.nil? && public_key.nil?
13
+ raise ArgumentError, 'please specify key_pair or public_key'
14
14
  end
15
15
 
16
16
  unless key_pair.nil?
@@ -31,7 +31,11 @@ class NearApi::Key
31
31
  public_key
32
32
  end
33
33
  bytestring = NearApi::Base58.decode(key_value)
34
- @public_key = Ed25519::VerifyKey.new(bytestring).to_bytes
34
+ verify_key = Ed25519::VerifyKey.new(bytestring).to_bytes
35
+ unless @public_key.nil?
36
+ raise ArgumentError, 'public_key does not match keypair' if @public_key != verify_key
37
+ end
38
+ @public_key = verify_key
35
39
  end
36
40
  end
37
41
 
@@ -1,17 +1,42 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class NearApi::Status
4
+ STATUSES = [
5
+ # Transaction is waiting to be included into the block
6
+ NONE = 'NONE',
7
+
8
+ # Transaction is included into the block. The block may be not finalized yet
9
+ INCLUDED = 'INCLUDED',
10
+
11
+ # Transaction is included into the block +
12
+ # All non-refund transaction receipts finished their execution.
13
+ # The corresponding blocks for tx and each receipt may be not finalized yet
14
+ EXECUTED_OPTIMISTIC = 'EXECUTED_OPTIMISTIC',
15
+
16
+ # Transaction is included into finalized block
17
+ INCLUDED_FINAL = 'INCLUDED_FINAL',
18
+
19
+ # Transaction is included into finalized block +
20
+ # All non-refund transaction receipts finished their execution.
21
+ # The corresponding blocks for each receipt may be not finalized yet
22
+ EXECUTED = 'EXECUTED',
23
+
24
+ # Transaction is included into finalized block +
25
+ # Execution of all transaction receipts is finalized, including refund receipts
26
+ FINAL = 'FINAL'
27
+ ].freeze
28
+
4
29
  def initialize(config = NearApi.config)
5
30
  @api = NearApi::Api.new(config)
6
31
  end
7
32
 
8
- def transaction_status(transaction_hash, key: NearApi.key)
9
- params = [transaction_hash, key.signer_id]
33
+ def transaction_status(transaction_hash, wait_until: EXECUTED_OPTIMISTIC, key: NearApi.key)
34
+ params = { tx_hash: transaction_hash, sender_account_id: key.signer_id, wait_until: wait_until }
10
35
  call_api('tx', params)
11
36
  end
12
37
 
13
- def final_transaction_status(transaction_hash, key: NearApi.key)
14
- params = [transaction_hash, key.signer_id]
38
+ def transaction_status_with_receipts(transaction_hash, wait_until: EXECUTED_OPTIMISTIC, key: NearApi.key)
39
+ params = { tx_hash: transaction_hash, sender_account_id: key.signer_id, wait_until: wait_until }
15
40
  call_api('EXPERIMENTAL_tx_status', params)
16
41
  end
17
42
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NearApi
4
- VERSION = '0.2.2'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: near_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Serg Tyatin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-25 00:00:00.000000000 Z
11
+ date: 2024-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: borsh-rb
@@ -76,6 +76,7 @@ files:
76
76
  - ".github/workflows/ci.yml"
77
77
  - ".gitignore"
78
78
  - ".rspec"
79
+ - CHANGELOG.md
79
80
  - Gemfile
80
81
  - LICENSE.txt
81
82
  - README.md