minter 0.1.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +80 -8
  3. data/lib/ffi/{go → sign}/compile.rb +6 -4
  4. data/lib/ffi/sign/go.mod +5 -0
  5. data/lib/ffi/sign/go.sum +185 -0
  6. data/lib/ffi/sign/sign-darwin-10.6-amd64.dylib +0 -0
  7. data/lib/ffi/{wallet.h → sign/sign-darwin-10.6-amd64.h} +3 -11
  8. data/lib/ffi/sign/sign-linux-amd64.h +78 -0
  9. data/lib/ffi/sign/sign-linux-amd64.so +0 -0
  10. data/lib/ffi/sign/sign.go +84 -0
  11. data/lib/ffi/sign/sign_ffi.rb +12 -0
  12. data/lib/ffi/tx_hash/compile.rb +16 -0
  13. data/lib/ffi/tx_hash/go.mod +5 -0
  14. data/lib/ffi/tx_hash/go.sum +185 -0
  15. data/lib/ffi/{transaction-darwin-10.6-amd64.dylib → tx_hash/tx-hash-darwin-10.6-amd64.dylib} +0 -0
  16. data/lib/ffi/{transaction-linux-amd64.h → tx_hash/tx-hash-darwin-10.6-amd64.h} +15 -15
  17. data/lib/ffi/tx_hash/tx-hash-linux-amd64.h +104 -0
  18. data/lib/ffi/{transaction-linux-amd64.so → tx_hash/tx-hash-linux-amd64.so} +0 -0
  19. data/lib/ffi/tx_hash/tx_hash.go +616 -0
  20. data/lib/ffi/tx_hash/tx_hash_ffi.rb +25 -0
  21. data/lib/ffi/wallet/compile.rb +16 -0
  22. data/lib/ffi/wallet/go.mod +5 -0
  23. data/lib/ffi/wallet/go.sum +185 -0
  24. data/lib/ffi/{wallet-darwin-10.6-amd64.dylib → wallet/wallet-darwin-10.6-amd64.dylib} +0 -0
  25. data/lib/ffi/{wallet-darwin-10.6-amd64.h → wallet/wallet-darwin-10.6-amd64.h} +0 -0
  26. data/lib/ffi/{wallet-linux-amd64.h → wallet/wallet-linux-amd64.h} +0 -0
  27. data/lib/ffi/{wallet-linux-amd64.so → wallet/wallet-linux-amd64.so} +0 -0
  28. data/lib/ffi/wallet/wallet.go +49 -0
  29. data/lib/ffi/{wallet_ffi.rb → wallet/wallet_ffi.rb} +1 -1
  30. data/lib/minter.rb +4 -2
  31. data/lib/minter/transactions/buy_coin_tx.rb +1 -8
  32. data/lib/minter/transactions/create_coin_tx.rb +1 -8
  33. data/lib/minter/transactions/create_multisig_address_tx.rb +38 -0
  34. data/lib/minter/transactions/declare_candidacy_tx.rb +1 -8
  35. data/lib/minter/transactions/delegate_tx.rb +1 -8
  36. data/lib/minter/transactions/edit_candidate_tx.rb +1 -8
  37. data/lib/minter/transactions/multi_send_tx.rb +29 -0
  38. data/lib/minter/transactions/redeem_check_tx.rb +1 -8
  39. data/lib/minter/transactions/sell_all_coin_tx.rb +1 -8
  40. data/lib/minter/transactions/sell_coin_tx.rb +1 -8
  41. data/lib/minter/transactions/send_coin_tx.rb +1 -8
  42. data/lib/minter/transactions/set_candidate_off_tx.rb +1 -8
  43. data/lib/minter/transactions/set_candidate_on_tx.rb +1 -8
  44. data/lib/minter/transactions/signed_tx.rb +3 -3
  45. data/lib/minter/transactions/transaction.rb +41 -0
  46. data/lib/minter/transactions/unbond_tx.rb +1 -8
  47. data/lib/minter/version.rb +1 -1
  48. data/lib/minter/wallet.rb +3 -2
  49. metadata +81 -27
  50. data/lib/ffi/transaction-darwin-10.6-amd64.h +0 -104
  51. data/lib/ffi/transaction_ffi.rb +0 -94
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class EditCandidateTx
4
+ class EditCandidateTx < Transaction
5
5
  attr_accessor :pubkey, :reward_address, :owner_address, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(pubkey:, reward_address:, owner_address:, nonce:, chain_id:, gas_coin:, gas_price:) # rubocop:disable Metrics/ParameterLists
@@ -14,13 +14,6 @@ module Minter
14
14
  @gas_price = gas_price
15
15
  end
16
16
 
17
- def sign(private_key)
18
- params = to_params
19
- params[:PrivateKey] = private_key
20
- tx_hash = Minter::TransactionFfi.SignEditCandidateTransaction(params.to_json)
21
- SignedTx.new(tx_hash)
22
- end
23
-
24
17
  def to_params
25
18
  { PubKey: pubkey,
26
19
  RewardAddress: reward_address,
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Minter
4
+ class MultiSendTx < Transaction
5
+ attr_accessor :items, :coin, :nonce, :chain_id, :gas_coin, :gas_price
6
+
7
+ def initialize(nonce:, chain_id:, gas_coin:, gas_price:)
8
+ @nonce = nonce
9
+ @chain_id = chain_id
10
+ @gas_coin = gas_coin
11
+ @gas_price = gas_price
12
+ @items = []
13
+ end
14
+
15
+ def add_item(symbol:, value:, address_to:)
16
+ @items << { Symbol: symbol, Value: value, AddressTo: address_to }
17
+ end
18
+
19
+ def to_params
20
+ {
21
+ Nonce: nonce,
22
+ ChainId: chain_id,
23
+ GasCoin: gas_coin,
24
+ GasPrice: gas_price,
25
+ Items: items
26
+ }
27
+ end
28
+ end
29
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class RedeemCheckTx
4
+ class RedeemCheckTx < Transaction
5
5
  attr_accessor :check, :proof, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(check:, proof:, nonce:, chain_id:, gas_coin:, gas_price:) # rubocop:disable Metrics/ParameterLists
@@ -13,13 +13,6 @@ module Minter
13
13
  @gas_price = gas_price
14
14
  end
15
15
 
16
- def sign(private_key)
17
- params = to_params
18
- params[:PrivateKey] = private_key
19
- tx_hash = Minter::TransactionFfi.SignRedeemCheckTransaction(params.to_json)
20
- SignedTx.new(tx_hash)
21
- end
22
-
23
16
  def to_params
24
17
  { Check: check,
25
18
  Proof: proof,
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class SellAllCoinTx
4
+ class SellAllCoinTx < Transaction
5
5
  attr_accessor :coin_to_sell, :coin_to_buy, :minimum_value_to_buy, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(coin_to_sell:, coin_to_buy:, minimum_value_to_buy:, nonce:, chain_id:, gas_coin:, gas_price:) # rubocop:disable Metrics/ParameterLists
@@ -14,13 +14,6 @@ module Minter
14
14
  @gas_price = gas_price
15
15
  end
16
16
 
17
- def sign(private_key)
18
- params = to_params
19
- params[:PrivateKey] = private_key
20
- tx_hash = Minter::TransactionFfi.SignSellAllCoinTransaction(params.to_json)
21
- SignedTx.new(tx_hash)
22
- end
23
-
24
17
  def to_params
25
18
  { CoinToSell: coin_to_sell,
26
19
  CoinToBuy: coin_to_buy,
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class SellCoinTx
4
+ class SellCoinTx < Transaction
5
5
  attr_accessor :coin_to_sell, :value_to_sell, :coin_to_buy, :minimum_value_to_buy, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(coin_to_sell:, value_to_sell:, coin_to_buy:, minimum_value_to_buy:, nonce:, chain_id:, gas_coin:, gas_price:) # rubocop:disable Metrics/ParameterLists
@@ -15,13 +15,6 @@ module Minter
15
15
  @gas_price = gas_price
16
16
  end
17
17
 
18
- def sign(private_key)
19
- params = to_params
20
- params[:PrivateKey] = private_key
21
- tx_hash = Minter::TransactionFfi.SignSellCoinTransaction(params.to_json)
22
- SignedTx.new(tx_hash)
23
- end
24
-
25
18
  def to_params
26
19
  { CoinToSell: coin_to_sell,
27
20
  ValueToSell: value_to_sell,
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class SendCoinTx
4
+ class SendCoinTx < Transaction
5
5
  attr_accessor :type, :address_to, :value, :coin, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(address_to:, value:, coin:, nonce:, chain_id:, gas_coin:, gas_price:) # rubocop:disable Metrics/ParameterLists
@@ -14,13 +14,6 @@ module Minter
14
14
  @gas_price = gas_price
15
15
  end
16
16
 
17
- def sign(private_key)
18
- params = to_params
19
- params[:PrivateKey] = private_key
20
- tx_hash = Minter::TransactionFfi.SignTransaction(params.to_json)
21
- SignedTx.new(tx_hash)
22
- end
23
-
24
17
  def to_params
25
18
  { AddressTo: address_to,
26
19
  Value: value,
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class SetCandidateOffTx
4
+ class SetCandidateOffTx < Transaction
5
5
  attr_accessor :pubkey, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(pubkey:, nonce:, chain_id:, gas_coin:, gas_price:)
@@ -12,13 +12,6 @@ module Minter
12
12
  @gas_price = gas_price
13
13
  end
14
14
 
15
- def sign(private_key)
16
- params = to_params
17
- params[:PrivateKey] = private_key
18
- tx_hash = Minter::TransactionFfi.SignSetCandidateOffTransaction(params.to_json)
19
- SignedTx.new(tx_hash)
20
- end
21
-
22
15
  def to_params
23
16
  { PubKey: pubkey,
24
17
  Nonce: nonce,
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class SetCandidateOnTx
4
+ class SetCandidateOnTx < Transaction
5
5
  attr_accessor :pubkey, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(pubkey:, nonce:, chain_id:, gas_coin:, gas_price:)
@@ -12,13 +12,6 @@ module Minter
12
12
  @gas_price = gas_price
13
13
  end
14
14
 
15
- def sign(private_key)
16
- params = to_params
17
- params[:PrivateKey] = private_key
18
- tx_hash = Minter::TransactionFfi.SignSetCandidateOnTransaction(params.to_json)
19
- SignedTx.new(tx_hash)
20
- end
21
-
22
15
  def to_params
23
16
  { PubKey: pubkey,
24
17
  Nonce: nonce,
@@ -2,14 +2,14 @@
2
2
 
3
3
  module Minter
4
4
  class SignedTx
5
- attr_reader :tx_hash
5
+ attr_reader :tx_hash, :transaction
6
6
 
7
- def initialize(tx_hash)
7
+ def initialize(tx_hash: nil, transaction: nil)
8
8
  @tx_hash = tx_hash
9
+ @transaction = transaction
9
10
  end
10
11
 
11
12
  def send
12
- # TODO: maybe create client one time
13
13
  Minter::Api::Client.new.send_transaction(transaction: tx_hash)
14
14
  end
15
15
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Minter
4
+ class TransactionError < StandardError; end
5
+ class SignError < StandardError; end
6
+
7
+ class Transaction
8
+ def sign(private_key)
9
+ sign_params = {}
10
+ sign_params[:PrivateKey] = private_key
11
+ sign_params[:TxHash] = tx_hash
12
+
13
+ result = JSON.parse(Minter::SignFfi.Sign(sign_params.to_json))
14
+ raise SignError, result["error"] unless result["success"] == "true"
15
+
16
+ SignedTx.new(tx_hash: result["tx_hash"], transaction: self)
17
+ end
18
+
19
+ def multisign(multisig_address, *private_keys)
20
+ multisign_params = {}
21
+ multisign_params[:PrivateKeys] = private_keys
22
+ multisign_params[:TxHash] = tx_hash(multisign: true)
23
+ multisign_params[:MultiSigAddress] = multisig_address
24
+
25
+ result = JSON.parse(Minter::SignFfi.MultiSign(multisign_params.to_json))
26
+ raise SignError, result["error"] unless result["success"] == "true"
27
+
28
+ SignedTx.new(tx_hash: result["tx_hash"], transaction: self)
29
+ end
30
+
31
+ def tx_hash(multisign: false)
32
+ transaction_params = to_params
33
+ transaction_params[:SignatureType] = multisign ? 2 : 1
34
+
35
+ result = JSON.parse(Minter::TxHashFfi.send(self.class.to_s.split("::")[1], transaction_params.to_json))
36
+ raise TransactionError, result["error"] unless result["success"] == "true"
37
+
38
+ result["tx_hash"]
39
+ end
40
+ end
41
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- class UnbondTx
4
+ class UnbondTx < Transaction
5
5
  attr_accessor :pubkey, :coin, :value, :nonce, :chain_id, :gas_coin, :gas_price
6
6
 
7
7
  def initialize(pubkey:, coin:, value:, nonce:, chain_id:, gas_coin:, gas_price:) # rubocop:disable Metrics/ParameterLists
@@ -14,13 +14,6 @@ module Minter
14
14
  @gas_price = gas_price
15
15
  end
16
16
 
17
- def sign(private_key)
18
- params = to_params
19
- params[:PrivateKey] = private_key
20
- tx_hash = Minter::TransactionFfi.SignUnbondTransaction(params.to_json)
21
- SignedTx.new(tx_hash)
22
- end
23
-
24
17
  def to_params
25
18
  { PubKey: pubkey,
26
19
  Coin: coin,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minter
4
- VERSION = "0.1.0"
4
+ VERSION = "0.4.1"
5
5
  end
@@ -3,8 +3,9 @@
3
3
  module Minter
4
4
  class Wallet
5
5
  attr_reader :seed, :private_key, :public_key, :mnemonic, :address
6
- def initialize(_options = {})
7
- @mnemonic = Minter::WalletFfi.NewMnemonic
6
+ def initialize(mnemonic = nil)
7
+ @mnemonic = mnemonic
8
+ @mnemonic ||= Minter::WalletFfi.NewMnemonic
8
9
  @private_key = Minter::WalletFfi.PrivateKeyFromMnemonic(@mnemonic)
9
10
  @public_key = Minter::WalletFfi.PublicKeyFromPrivateKey(@private_key)
10
11
  @address = Minter::WalletFfi.AddressFromMnemonic(@mnemonic)
metadata CHANGED
@@ -1,99 +1,135 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Nikolaev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-18 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.7'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: '0'
22
+ version: 2.7.5
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.7'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: '0'
32
+ version: 2.7.5
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: ffi
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.12'
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
33
- version: '0'
42
+ version: 1.12.2
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.12'
38
50
  - - ">="
39
51
  - !ruby/object:Gem::Version
40
- version: '0'
52
+ version: 1.12.2
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: http
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '4.4'
45
60
  - - ">="
46
61
  - !ruby/object:Gem::Version
47
- version: '0'
62
+ version: 4.4.1
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '4.4'
52
70
  - - ">="
53
71
  - !ruby/object:Gem::Version
54
- version: '0'
72
+ version: 4.4.1
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: json
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
59
77
  - - ">="
60
78
  - !ruby/object:Gem::Version
61
- version: '0'
79
+ version: 2.3.0
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.3'
62
83
  type: :runtime
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
66
87
  - - ">="
67
88
  - !ruby/object:Gem::Version
68
- version: '0'
89
+ version: 2.3.0
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '2.3'
69
93
  - !ruby/object:Gem::Dependency
70
94
  name: rake
71
95
  requirement: !ruby/object:Gem::Requirement
72
96
  requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '12.3'
73
100
  - - ">="
74
101
  - !ruby/object:Gem::Version
75
- version: '0'
102
+ version: 12.3.3
76
103
  type: :runtime
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
79
106
  requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '12.3'
80
110
  - - ">="
81
111
  - !ruby/object:Gem::Version
82
- version: '0'
112
+ version: 12.3.3
83
113
  - !ruby/object:Gem::Dependency
84
114
  name: rspec
85
115
  requirement: !ruby/object:Gem::Requirement
86
116
  requirements:
87
117
  - - ">="
88
118
  - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
119
+ version: 3.9.0
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '3.9'
123
+ type: :development
91
124
  prerelease: false
92
125
  version_requirements: !ruby/object:Gem::Requirement
93
126
  requirements:
94
127
  - - ">="
95
128
  - !ruby/object:Gem::Version
96
- version: '0'
129
+ version: 3.9.0
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '3.9'
97
133
  description: This is a Ruby SDK based on Golang SDK for working with Minter blockchain
98
134
  email:
99
135
  executables: []
@@ -105,18 +141,33 @@ files:
105
141
  - README.md
106
142
  - bin/console
107
143
  - bin/setup
108
- - lib/ffi/go/compile.rb
109
- - lib/ffi/transaction-darwin-10.6-amd64.dylib
110
- - lib/ffi/transaction-darwin-10.6-amd64.h
111
- - lib/ffi/transaction-linux-amd64.h
112
- - lib/ffi/transaction-linux-amd64.so
113
- - lib/ffi/transaction_ffi.rb
114
- - lib/ffi/wallet-darwin-10.6-amd64.dylib
115
- - lib/ffi/wallet-darwin-10.6-amd64.h
116
- - lib/ffi/wallet-linux-amd64.h
117
- - lib/ffi/wallet-linux-amd64.so
118
- - lib/ffi/wallet.h
119
- - lib/ffi/wallet_ffi.rb
144
+ - lib/ffi/sign/compile.rb
145
+ - lib/ffi/sign/go.mod
146
+ - lib/ffi/sign/go.sum
147
+ - lib/ffi/sign/sign-darwin-10.6-amd64.dylib
148
+ - lib/ffi/sign/sign-darwin-10.6-amd64.h
149
+ - lib/ffi/sign/sign-linux-amd64.h
150
+ - lib/ffi/sign/sign-linux-amd64.so
151
+ - lib/ffi/sign/sign.go
152
+ - lib/ffi/sign/sign_ffi.rb
153
+ - lib/ffi/tx_hash/compile.rb
154
+ - lib/ffi/tx_hash/go.mod
155
+ - lib/ffi/tx_hash/go.sum
156
+ - lib/ffi/tx_hash/tx-hash-darwin-10.6-amd64.dylib
157
+ - lib/ffi/tx_hash/tx-hash-darwin-10.6-amd64.h
158
+ - lib/ffi/tx_hash/tx-hash-linux-amd64.h
159
+ - lib/ffi/tx_hash/tx-hash-linux-amd64.so
160
+ - lib/ffi/tx_hash/tx_hash.go
161
+ - lib/ffi/tx_hash/tx_hash_ffi.rb
162
+ - lib/ffi/wallet/compile.rb
163
+ - lib/ffi/wallet/go.mod
164
+ - lib/ffi/wallet/go.sum
165
+ - lib/ffi/wallet/wallet-darwin-10.6-amd64.dylib
166
+ - lib/ffi/wallet/wallet-darwin-10.6-amd64.h
167
+ - lib/ffi/wallet/wallet-linux-amd64.h
168
+ - lib/ffi/wallet/wallet-linux-amd64.so
169
+ - lib/ffi/wallet/wallet.go
170
+ - lib/ffi/wallet/wallet_ffi.rb
120
171
  - lib/minter.rb
121
172
  - lib/minter/api/client.rb
122
173
  - lib/minter/api/connection.rb
@@ -139,9 +190,11 @@ files:
139
190
  - lib/minter/key.rb
140
191
  - lib/minter/transactions/buy_coin_tx.rb
141
192
  - lib/minter/transactions/create_coin_tx.rb
193
+ - lib/minter/transactions/create_multisig_address_tx.rb
142
194
  - lib/minter/transactions/declare_candidacy_tx.rb
143
195
  - lib/minter/transactions/delegate_tx.rb
144
196
  - lib/minter/transactions/edit_candidate_tx.rb
197
+ - lib/minter/transactions/multi_send_tx.rb
145
198
  - lib/minter/transactions/redeem_check_tx.rb
146
199
  - lib/minter/transactions/sell_all_coin_tx.rb
147
200
  - lib/minter/transactions/sell_coin_tx.rb
@@ -149,6 +202,7 @@ files:
149
202
  - lib/minter/transactions/set_candidate_off_tx.rb
150
203
  - lib/minter/transactions/set_candidate_on_tx.rb
151
204
  - lib/minter/transactions/signed_tx.rb
205
+ - lib/minter/transactions/transaction.rb
152
206
  - lib/minter/transactions/unbond_tx.rb
153
207
  - lib/minter/version.rb
154
208
  - lib/minter/wallet.rb