cardano_wallet 0.1.7 → 0.2.2
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 +4 -4
- data/.github/workflows/nightly.yml +3 -3
- data/.github/workflows/tests.yml +2 -2
- data/README.md +2 -4
- data/cardano_wallet.gemspec +1 -1
- data/dev +8 -1
- data/docker-compose-shelley.yml +2 -2
- data/lib/cardano_wallet.rb +0 -1
- data/lib/cardano_wallet/base.rb +4 -0
- data/lib/cardano_wallet/byron.rb +4 -4
- data/lib/cardano_wallet/misc.rb +66 -0
- data/lib/cardano_wallet/shelley.rb +23 -15
- data/lib/cardano_wallet/utils.rb +17 -6
- data/lib/cardano_wallet/version.rb +1 -1
- metadata +7 -9
- data/docker-compose.yml +0 -38
- data/lib/cardano_wallet/proxy.rb +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3d493df353517eb41d713b9b12973fadd1b56da5f17f8a15763181285d13a82
|
4
|
+
data.tar.gz: 6848865dea8cd920f95d0268065293aba195e67e4cfd1b1324a62e355e119347
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d02a807c61dad05dd08fc300990702a10ed631a25268735189772e4f54dabb411d4ab5d2688e10333b9d88558a881de1eaf1545cd3a9547cc29bf4f36116f909
|
7
|
+
data.tar.gz: 4007b0db748e9f88244257e30a9a939dea56e213eec84fce632b603c1d2dbfb55e73222db8f13bb6ab6855e3aa0e8c5e3c575f6ce89d55d7cb51c063a5dffb45
|
@@ -12,7 +12,7 @@ jobs:
|
|
12
12
|
steps:
|
13
13
|
- uses: actions/checkout@v2
|
14
14
|
- name: Set up cardano-wallet
|
15
|
-
run: NODE_CONFIG_PATH=`pwd`/spec/
|
15
|
+
run: NODE_CONFIG_PATH=`pwd`/spec/testnet docker-compose -f docker-compose-shelley.yml up --detach
|
16
16
|
- name: Set up Ruby
|
17
17
|
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
18
18
|
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
@@ -25,10 +25,10 @@ jobs:
|
|
25
25
|
- name: Wait until node is synced
|
26
26
|
run: bundle exec rake wait_until_node_synced
|
27
27
|
- name: Run all tests
|
28
|
-
run: bundle exec rspec
|
28
|
+
run: bundle exec rspec .
|
29
29
|
env:
|
30
30
|
CI: true
|
31
31
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
32
32
|
NETWORK: testnet
|
33
33
|
WALLET: dev-master-shelley
|
34
|
-
NODE:
|
34
|
+
NODE: 1.21.1
|
data/.github/workflows/tests.yml
CHANGED
@@ -21,7 +21,7 @@ jobs:
|
|
21
21
|
steps:
|
22
22
|
- uses: actions/checkout@v2
|
23
23
|
- name: Set up cardano-wallet
|
24
|
-
run: NODE_CONFIG_PATH=`pwd`/spec/
|
24
|
+
run: NODE_CONFIG_PATH=`pwd`/spec/testnet docker-compose -f docker-compose-shelley.yml up --detach
|
25
25
|
- name: Set up Ruby
|
26
26
|
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
27
27
|
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
@@ -38,4 +38,4 @@ jobs:
|
|
38
38
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
39
39
|
NETWORK: testnet
|
40
40
|
WALLET: dev-master-shelley
|
41
|
-
NODE:
|
41
|
+
NODE: 1.21.1
|
data/README.md
CHANGED
@@ -65,7 +65,6 @@ CW = CardanoWallet.new
|
|
65
65
|
BYRON = CW.byron
|
66
66
|
SHELLEY = CW.shelley
|
67
67
|
MISC = CW.misc
|
68
|
-
PROXY = CW.proxy
|
69
68
|
|
70
69
|
#Byron
|
71
70
|
BYRON.wallets.list.each_with_index do |wal, i|
|
@@ -82,9 +81,8 @@ SHELLEY.wallets.get(w['id'])
|
|
82
81
|
#Misc
|
83
82
|
MISC.network.information
|
84
83
|
MISC.network.clock
|
85
|
-
|
86
|
-
|
87
|
-
PROXY.submit_external_transaction(File.new("/tmp/blob.bin").read)
|
84
|
+
MISC.proxy.submit_external_transaction(File.new("/tmp/blob.bin").read)
|
85
|
+
MISC.utils.addresses("addr_test1vqrlltfahghjxl5sy5h5mvfrrlt6me5fqphhwjqvj5jd88cccqcek")
|
88
86
|
```
|
89
87
|
|
90
88
|
Refer to [documentation](https://rubydoc.info/gems/cardano_wallet) for more details.
|
data/cardano_wallet.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'rake', '~> 12.3'
|
33
33
|
spec.add_development_dependency 'rspec', '~> 3.7'
|
34
34
|
spec.add_development_dependency 'bip_mnemonic', '~> 0.0.4'
|
35
|
-
spec.add_development_dependency 'codecov'
|
35
|
+
spec.add_development_dependency 'codecov', '~> 0.2.8'
|
36
36
|
spec.add_development_dependency 'simplecov'
|
37
37
|
|
38
38
|
end
|
data/dev
CHANGED
data/docker-compose-shelley.yml
CHANGED
@@ -7,7 +7,7 @@ services:
|
|
7
7
|
- node-db:/data
|
8
8
|
- node-ipc:/ipc
|
9
9
|
- ${NODE_CONFIG_PATH}:/config
|
10
|
-
command: run --socket-path /ipc/node.socket --config /config
|
10
|
+
command: run --socket-path /ipc/node.socket --config /config/${NETWORK}-config.json --topology /config/${NETWORK}-topology.json --database-path /data
|
11
11
|
restart: on-failure
|
12
12
|
|
13
13
|
cardano-wallet:
|
@@ -18,7 +18,7 @@ services:
|
|
18
18
|
- ${NODE_CONFIG_PATH}:/config
|
19
19
|
ports:
|
20
20
|
- 8090:8090
|
21
|
-
command: serve --testnet /config
|
21
|
+
command: serve --testnet /config/${NETWORK}-byron-genesis.json --node-socket /ipc/node.socket --database /wallet-db --listen-address 0.0.0.0
|
22
22
|
restart: on-failure
|
23
23
|
|
24
24
|
volumes:
|
data/lib/cardano_wallet.rb
CHANGED
data/lib/cardano_wallet/base.rb
CHANGED
@@ -13,7 +13,11 @@ module CardanoWallet
|
|
13
13
|
opt[:url] ||= "#{opt[:protocol]}://#{opt[:host]}:#{opt[:port]}/v2"
|
14
14
|
opt[:cacert] ||= ''
|
15
15
|
opt[:pem] ||= ''
|
16
|
+
opt[:timeout] ||= -1
|
16
17
|
self.class.base_uri opt[:url]
|
18
|
+
unless(opt[:timeout] == -1)
|
19
|
+
self.class.default_timeout(opt[:timeout].to_i)
|
20
|
+
end
|
17
21
|
|
18
22
|
unless opt[:cacert].empty?
|
19
23
|
ENV['SSL_CERT_FILE'] = opt[:cacert]
|
data/lib/cardano_wallet/byron.rb
CHANGED
@@ -181,7 +181,7 @@ module CardanoWallet
|
|
181
181
|
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/byronSelectCoins
|
182
182
|
#
|
183
183
|
# @example
|
184
|
-
# random(wid, {
|
184
|
+
# random(wid, [{addr1: 1000000}, {addr2: 1000000}])
|
185
185
|
def random(wid, payments)
|
186
186
|
payments_formatted = Utils.format_payments(payments)
|
187
187
|
self.class.post("/byron-wallets/#{wid}/coin-selections/random",
|
@@ -217,10 +217,10 @@ module CardanoWallet
|
|
217
217
|
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postByronTransaction
|
218
218
|
# @param wid [String] source wallet id
|
219
219
|
# @param passphrase [String] source wallet's passphrase
|
220
|
-
# @param payments [
|
220
|
+
# @param payments [Array of Hashes] addres, amount pair
|
221
221
|
#
|
222
222
|
# @example
|
223
|
-
# create(wid, passphrase, {addr1: 1000000})
|
223
|
+
# create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}])
|
224
224
|
def create(wid, passphrase, payments)
|
225
225
|
payments_formatted = Utils.format_payments(payments)
|
226
226
|
self.class.post("/byron-wallets/#{wid}/transactions",
|
@@ -234,7 +234,7 @@ module CardanoWallet
|
|
234
234
|
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransactionFee
|
235
235
|
#
|
236
236
|
# @example
|
237
|
-
# payment_fees(wid, {addr1: 1000000})
|
237
|
+
# payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}])
|
238
238
|
def payment_fees(wid, payments)
|
239
239
|
payments_formatted = Utils.format_payments(payments)
|
240
240
|
self.class.post("/byron-wallets/#{wid}/payment-fees",
|
data/lib/cardano_wallet/misc.rb
CHANGED
@@ -15,6 +15,43 @@ module CardanoWallet
|
|
15
15
|
def network
|
16
16
|
Network.new @opt
|
17
17
|
end
|
18
|
+
|
19
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Utils
|
20
|
+
def utils
|
21
|
+
Utils.new @opt
|
22
|
+
end
|
23
|
+
|
24
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Proxy
|
25
|
+
def proxy
|
26
|
+
Proxy.new @opt
|
27
|
+
end
|
28
|
+
|
29
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Settings
|
30
|
+
def settings
|
31
|
+
Settings.new @opt
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# API for Network
|
36
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Settings
|
37
|
+
class Settings < Base
|
38
|
+
def initialize opt
|
39
|
+
super
|
40
|
+
end
|
41
|
+
|
42
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getSettings
|
43
|
+
def get
|
44
|
+
self.class.get("/settings")
|
45
|
+
end
|
46
|
+
|
47
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/putSettings
|
48
|
+
def update(params)
|
49
|
+
CardanoWallet::Utils.verify_param_is_hash!(params)
|
50
|
+
self.class.put("/settings",
|
51
|
+
:body => {"settings" => params}.to_json,
|
52
|
+
:headers => { 'Content-Type' => 'application/json' }
|
53
|
+
)
|
54
|
+
end
|
18
55
|
end
|
19
56
|
|
20
57
|
# API for Network
|
@@ -43,5 +80,34 @@ module CardanoWallet
|
|
43
80
|
end
|
44
81
|
|
45
82
|
end
|
83
|
+
|
84
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Utils
|
85
|
+
class Utils < Base
|
86
|
+
def initialize opt
|
87
|
+
super
|
88
|
+
end
|
89
|
+
|
90
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/inspectAddress
|
91
|
+
def addresses(address_id)
|
92
|
+
self.class.get("/addresses/#{address_id}")
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
97
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Proxy
|
98
|
+
class Proxy < Base
|
99
|
+
def initialize opt
|
100
|
+
super
|
101
|
+
end
|
102
|
+
|
103
|
+
# Submit a transaction that was created and signed outside of cardano-wallet.
|
104
|
+
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postExternalTransaction
|
105
|
+
# @param binary_blob [String] Signed transaction message binary blob.
|
106
|
+
def submit_external_transaction(binary_blob)
|
107
|
+
self.class.post("/proxy/transactions",
|
108
|
+
:body => binary_blob,
|
109
|
+
:headers => { 'Content-Type' => 'application/octet-stream' })
|
110
|
+
end
|
111
|
+
end
|
46
112
|
end
|
47
113
|
end
|
@@ -158,7 +158,7 @@ module CardanoWallet
|
|
158
158
|
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/selectCoins
|
159
159
|
#
|
160
160
|
# @example
|
161
|
-
# random(wid, {
|
161
|
+
# random(wid, [{addr1: 1000000}, {addr2: 1000000}])
|
162
162
|
def random(wid, payments)
|
163
163
|
payments_formatted = Utils.format_payments(payments)
|
164
164
|
self.class.post("/wallets/#{wid}/coin-selections/random",
|
@@ -194,18 +194,22 @@ module CardanoWallet
|
|
194
194
|
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction
|
195
195
|
# @param wid [String] source wallet id
|
196
196
|
# @param passphrase [String] source wallet's passphrase
|
197
|
-
# @param payments [
|
198
|
-
# @param
|
197
|
+
# @param payments [Array of Hashes] addres, amount pair
|
198
|
+
# @param withdrawal [String or Array] 'self' or mnemonic sentence
|
199
|
+
# @param metadata [Hash] special metadata JSON subset format (cf: https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransaction)
|
199
200
|
#
|
200
201
|
# @example
|
201
|
-
# create(wid, passphrase, {addr1: 1000000},
|
202
|
-
def create(wid, passphrase, payments,
|
202
|
+
# create(wid, passphrase, [{addr1: 1000000}, {addr2: 1000000}], 'self', {"1": "abc"})
|
203
|
+
def create(wid, passphrase, payments, withdrawal = nil, metadata = nil)
|
203
204
|
payments_formatted = Utils.format_payments(payments)
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
205
|
+
payload = { :payments => payments_formatted,
|
206
|
+
:passphrase => passphrase
|
207
|
+
}
|
208
|
+
payload[:withdrawal] = withdrawal if withdrawal
|
209
|
+
payload[:metadata] = metadata if metadata
|
210
|
+
|
211
|
+
self.class.post("/wallets/#{wid}/transactions",
|
212
|
+
:body => payload.to_json,
|
209
213
|
:headers => { 'Content-Type' => 'application/json' } )
|
210
214
|
end
|
211
215
|
|
@@ -213,12 +217,16 @@ module CardanoWallet
|
|
213
217
|
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postTransactionFee
|
214
218
|
#
|
215
219
|
# @example
|
216
|
-
# payment_fees(wid, {addr1: 1000000})
|
217
|
-
def payment_fees(wid, payments,
|
220
|
+
# payment_fees(wid, [{addr1: 1000000}, {addr2: 1000000}], {"1": "abc"})
|
221
|
+
def payment_fees(wid, payments, withdrawal = nil, metadata = nil)
|
218
222
|
payments_formatted = Utils.format_payments(payments)
|
219
|
-
|
220
|
-
|
221
|
-
:
|
223
|
+
payload = { :payments => payments_formatted }
|
224
|
+
|
225
|
+
payload[:withdrawal] = withdrawal if withdrawal
|
226
|
+
payload[:metadata] = metadata if metadata
|
227
|
+
|
228
|
+
self.class.post("/wallets/#{wid}/payment-fees",
|
229
|
+
:body => payload.to_json,
|
222
230
|
:headers => { 'Content-Type' => 'application/json' } )
|
223
231
|
end
|
224
232
|
|
data/lib/cardano_wallet/utils.rb
CHANGED
@@ -5,13 +5,24 @@ module CardanoWallet
|
|
5
5
|
raise ArgumentError, "argument should be Hash" unless param.is_a?(Hash)
|
6
6
|
end
|
7
7
|
|
8
|
+
def self.verify_param_is_array!(param)
|
9
|
+
raise ArgumentError, "argument should be Array" unless param.is_a?(Array)
|
10
|
+
end
|
11
|
+
|
12
|
+
##
|
13
|
+
# @param payments [Array of Hashes] - [{addr1: 1}, {addr2: 2}]
|
14
|
+
# @return [Array of Hashes] - [{:address=>"addr1", :amount=>{:quantity=>1, :unit=>"lovelace"}}, {:address=>"addr2", :amount=>{:quantity=>2, :unit=>"lovelace"}}]
|
8
15
|
def self.format_payments(payments)
|
9
|
-
|
10
|
-
payments.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
verify_param_is_array!(payments)
|
17
|
+
raise ArgumentError, "argument should be Array of single Hashes" unless payments.all?{|p| p.size == 1 && p.is_a?(Hash)}
|
18
|
+
payments.map do |p|
|
19
|
+
a = p.collect do |addr, amt|
|
20
|
+
{:address => addr.to_s,
|
21
|
+
:amount => {:quantity => amt.to_i,
|
22
|
+
:unit => "lovelace"}
|
23
|
+
}
|
24
|
+
end.flatten
|
25
|
+
Hash[*a]
|
15
26
|
end
|
16
27
|
end
|
17
28
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cardano_wallet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Stachyra
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -70,16 +70,16 @@ dependencies:
|
|
70
70
|
name: codecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.2.8
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.2.8
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: simplecov
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,12 +117,10 @@ files:
|
|
117
117
|
- cardano_wallet.gemspec
|
118
118
|
- dev
|
119
119
|
- docker-compose-shelley.yml
|
120
|
-
- docker-compose.yml
|
121
120
|
- lib/cardano_wallet.rb
|
122
121
|
- lib/cardano_wallet/base.rb
|
123
122
|
- lib/cardano_wallet/byron.rb
|
124
123
|
- lib/cardano_wallet/misc.rb
|
125
|
-
- lib/cardano_wallet/proxy.rb
|
126
124
|
- lib/cardano_wallet/shelley.rb
|
127
125
|
- lib/cardano_wallet/utils.rb
|
128
126
|
- lib/cardano_wallet/version.rb
|
@@ -149,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
147
|
- !ruby/object:Gem::Version
|
150
148
|
version: '0'
|
151
149
|
requirements: []
|
152
|
-
rubygems_version: 3.
|
150
|
+
rubygems_version: 3.1.2
|
153
151
|
signing_key:
|
154
152
|
specification_version: 4
|
155
153
|
summary: Ruby wrapper over cardano-wallet.
|
data/docker-compose.yml
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
version: "3.5"
|
2
|
-
|
3
|
-
services:
|
4
|
-
cardano-node:
|
5
|
-
image: inputoutput/cardano-node:${NODE}
|
6
|
-
environment:
|
7
|
-
NETWORK:
|
8
|
-
volumes:
|
9
|
-
- node-${NETWORK}-db:/data
|
10
|
-
- node-ipc:/ipc
|
11
|
-
- node-config:/nix/store
|
12
|
-
restart: on-failure
|
13
|
-
|
14
|
-
cardano-wallet:
|
15
|
-
image: inputoutput/cardano-wallet:${WALLET}
|
16
|
-
volumes:
|
17
|
-
- wallet-${NETWORK}-db:/wallet-db
|
18
|
-
- node-ipc:/ipc
|
19
|
-
- node-config:/config
|
20
|
-
ports:
|
21
|
-
- 8090:8090
|
22
|
-
entrypoint: []
|
23
|
-
command: bash -c "
|
24
|
-
([[ $$NETWORK == \"mainnet\" ]] && $$CMD --mainnet) ||
|
25
|
-
([[ $$NETWORK == \"testnet\" ]] && $$CMD --testnet /config/*testnet-genesis.json)
|
26
|
-
"
|
27
|
-
environment:
|
28
|
-
CMD: "cardano-wallet-byron serve --node-socket /ipc/node.socket --database /wallet-db --listen-address 0.0.0.0"
|
29
|
-
NETWORK:
|
30
|
-
restart: on-failure
|
31
|
-
|
32
|
-
volumes:
|
33
|
-
node-mainnet-db:
|
34
|
-
node-testnet-db:
|
35
|
-
wallet-mainnet-db:
|
36
|
-
wallet-testnet-db:
|
37
|
-
node-ipc:
|
38
|
-
node-config:
|
data/lib/cardano_wallet/proxy.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
module CardanoWallet
|
2
|
-
module Proxy
|
3
|
-
|
4
|
-
# Call API for Proxy
|
5
|
-
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#tag/Proxy
|
6
|
-
def self.new(opt)
|
7
|
-
Init.new opt
|
8
|
-
end
|
9
|
-
|
10
|
-
class Init < Base
|
11
|
-
def initialize opt
|
12
|
-
super
|
13
|
-
end
|
14
|
-
|
15
|
-
# Submit a transaction that was created and signed outside of cardano-wallet.
|
16
|
-
# @see https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/postExternalTransaction
|
17
|
-
# @param binary_blob [String] Signed transaction message binary blob.
|
18
|
-
def submit_external_transaction(binary_blob)
|
19
|
-
self.class.post("/proxy/transactions",
|
20
|
-
:body => binary_blob,
|
21
|
-
:headers => { 'Content-Type' => 'application/octet-stream' })
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|