mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-11 08:55:23 +03:00
Use scratch-version :send-txs, with bells and whistles
This commit is contained in:
parent
405d4d79b2
commit
6c08d1a45a
@ -25,6 +25,7 @@
|
||||
$: txs=(list @ux)
|
||||
see=(set @ux)
|
||||
wen=(unit @da)
|
||||
outstanding-send=_|
|
||||
==
|
||||
::
|
||||
++ move (pair bone card)
|
||||
@ -54,9 +55,12 @@
|
||||
:: from address; store at path
|
||||
:: :send-txs [%gen %/txs/eth-txs %fake 0 11 '0x0000000']
|
||||
::
|
||||
:: generate txs starting from nonce 0 on fake chain at 11 gwei;
|
||||
:: sign txs for gasses of 2 and 11 gwei; (~ for default gwei set)
|
||||
:: store at path
|
||||
:: :send-txs [%sign %/txs/txt %/txs/eth-txs %/pk/txt]
|
||||
:: :send-txs [%sign %/txs %/txs/eth-txs %/pk/txt ~[2 0]]
|
||||
::
|
||||
:: read nonce range from signed transactions at path
|
||||
:: :send-txs [%read %txs/txt]
|
||||
::
|
||||
:: send all but first 50 txs from path
|
||||
:: :send-txs [%send %/txs/txt 50]
|
||||
@ -69,8 +73,16 @@
|
||||
gas-price=@ud
|
||||
addr=@t
|
||||
==
|
||||
[%sign out=path in=path key=path]
|
||||
[%send pax=path skip=@ud]
|
||||
::
|
||||
[%sign bout=path in=path key=path gasses=(list @ud)]
|
||||
::
|
||||
[%read pax=path]
|
||||
::
|
||||
$: %send
|
||||
pax=path
|
||||
how=?(%nonce %number) :: tx nonce / index in file
|
||||
range=(unit $@(@ud (pair @ud @ud))) :: inclusive. end optional
|
||||
==
|
||||
==
|
||||
^- [(list move) _this]
|
||||
?- +<-
|
||||
@ -80,20 +92,78 @@
|
||||
[[(write-file-transactions pax tox) ~] this]
|
||||
::
|
||||
%sign
|
||||
=/ tox=(list cord) (sign:ceremony now.bol in key)
|
||||
[[(write-file-wain out tox) ~] this]
|
||||
:_ this
|
||||
%+ turn
|
||||
?. =(~ gasses) gasses
|
||||
:: default gwei set
|
||||
~[3 4 6 9 11 21 31]
|
||||
|= gas=@ud
|
||||
%+ write-file-wain
|
||||
:: add gas amount to path
|
||||
=+ end=(dec (lent bout))
|
||||
=- (weld (scag end bout) -)
|
||||
?: =(0 gas) [(snag end bout) /txt]
|
||||
:_ /txt
|
||||
(cat 3 (snag end bout) (crip '-' ((d-co:co 1) gas)))
|
||||
%- sign:ceremony
|
||||
:^ now.bol in key
|
||||
:: modify tx gas if non-zero gwei specified
|
||||
?: =(0 gas) ~
|
||||
`(mul gas 1.000.000.000)
|
||||
::
|
||||
%read
|
||||
=+ tox=.^((list cord) %cx pax)
|
||||
=+ [first last]=(read-nonces tox)
|
||||
~& %+ weld
|
||||
"Found nonces {(scow %ud first)} through {(scow %ud last)}"
|
||||
" in {(scow %ud (lent tox))} transactions."
|
||||
[~ this]
|
||||
::
|
||||
%send
|
||||
~& 'loading txs...'
|
||||
=. see ~
|
||||
=/ tox=(list cord) .^((list cord) %cx pax)
|
||||
=. tox (slag skip tox)
|
||||
=. tox
|
||||
?~ range tox
|
||||
=* r u.range
|
||||
?: ?=(%number how)
|
||||
?@ r
|
||||
(slag r tox)
|
||||
%+ slag p.r
|
||||
(scag q.r tox)
|
||||
=+ [first last]=(read-nonces tox)
|
||||
?: !=((lent tox) +((sub last first)))
|
||||
~| 'woah, probably non-contiguous set of transactions'
|
||||
!!
|
||||
?@ r
|
||||
(slag (sub r first) tox)
|
||||
(slag (sub p.r first) (scag (sub +(q.r) first) tox))
|
||||
=. txs
|
||||
%+ turn tox
|
||||
(cork trip tape-to-ux:ceremony)
|
||||
~& [(lent txs) 'loaded txs']
|
||||
~& [%clearing-see ~(wyt in see)]
|
||||
=. see ~
|
||||
=. outstanding-send |
|
||||
apex
|
||||
==
|
||||
::
|
||||
++ read-nonces
|
||||
|= tox=(list cord)
|
||||
^- [@ud @ud]
|
||||
?: =(~ tox) :: not ?~ because fucking tmi
|
||||
[0 0]
|
||||
:- (read-nonce (snag 0 tox))
|
||||
(read-nonce (snag (dec (lent tox)) tox))
|
||||
::
|
||||
++ read-nonce
|
||||
|= tex=cord
|
||||
^- @ud
|
||||
::NOTE this is profoundly stupid but should work well enough
|
||||
=+ (find "82" (trip tex))
|
||||
?> ?=(^ -)
|
||||
(rash (rsh 3 (add u 2) (end 3 (add u 6) tex)) hex)
|
||||
::
|
||||
++ write-file-wain
|
||||
|= [pax=path tox=(list cord)]
|
||||
^- move
|
||||
@ -111,7 +181,7 @@
|
||||
==
|
||||
::
|
||||
++ write-file-transactions
|
||||
|= [pax=path tox=(list transaction:ethereum)]
|
||||
|= [pax=path tox=(list transaction:rpc:ethereum)]
|
||||
^- move
|
||||
?> ?=([@ desk @ *] pax)
|
||||
:* ost.bol
|
||||
@ -143,25 +213,28 @@
|
||||
^- (list move)
|
||||
%^ fan-requests
|
||||
wir
|
||||
:~ => (need (de-purl:html 'http://localhost:8545'))
|
||||
:~ => (need (de-purl:html 'http://35.226.110.143:8545'))
|
||||
geth+.(p.p |)
|
||||
::
|
||||
=> (need (de-purl:html 'http://localhost:8555'))
|
||||
=> (need (de-purl:html 'http://104.198.35.227:8545'))
|
||||
parity+.(p.p |)
|
||||
==
|
||||
a+(turn req request-to-json:rpc:ethereum)
|
||||
::
|
||||
++ send-next-batch
|
||||
^- [(list move) _this]
|
||||
?: outstanding-send
|
||||
~& 'waiting for previous send to complete'
|
||||
`this
|
||||
?: =(0 (lent txs))
|
||||
~& 'all sent!'
|
||||
[~ this(txs ~, see ~, wen ~)]
|
||||
[~ this(txs ~, see ~, wen ~, outstanding-send |)]
|
||||
:: ~& send-next-batch=pretty-see
|
||||
=/ new-count (sub 500 ~(wyt in see))
|
||||
?: =(0 new-count)
|
||||
~& %no-new-txs-yet
|
||||
`this
|
||||
:_ this(txs (slag new-count txs))
|
||||
:_ this(txs (slag new-count txs), outstanding-send &)
|
||||
~& ['remaining txs: ' (lent txs)]
|
||||
~& ['sending txs...' new-count]
|
||||
%+ batch-requests /send
|
||||
@ -190,7 +263,7 @@
|
||||
=('Known transaction' (end 3 17 message.r))
|
||||
=('Transaction with the same ' (end 3 26 message.r))
|
||||
==
|
||||
~& [%sent-a-known-transaction--skipping wir r]
|
||||
~& [%sent-a-known-transaction--skipping wir]
|
||||
~
|
||||
?: =('Nonce too low' message.r)
|
||||
~& %nonce-too-low--skipping
|
||||
@ -202,6 +275,7 @@
|
||||
:- ~
|
||||
%- tape-to-ux:ceremony
|
||||
(sa:dejs:format res.r)
|
||||
=. outstanding-send |
|
||||
:: ~& sigh-send-b=pretty-see
|
||||
`this
|
||||
::
|
||||
@ -210,9 +284,11 @@
|
||||
~& :_ ~(wyt in see)
|
||||
'waiting for transaction confirms... '
|
||||
?. =(~ wen) [~ this]
|
||||
=. wen `(add now.bol ~s10)
|
||||
=. wen `(add now.bol ~s30)
|
||||
:: ~& apex=[wen pretty-see]
|
||||
=^ moves this send-next-batch
|
||||
:: timer got un-set, meaning we're done here
|
||||
?~ wen [moves this]
|
||||
[[[ost.bol %wait /see (need wen)] moves] this]
|
||||
::
|
||||
++ wake-see
|
||||
@ -257,7 +333,7 @@
|
||||
?< ?=(%fail -.r)
|
||||
~| [id.r res]
|
||||
=+ txh=(tape-to-ux:ceremony (trip (rsh 3 4 id.r)))
|
||||
~& see-tx=[(@p (mug txh)) `@ux`txh]
|
||||
:: ~& see-tx=[(@p (mug txh)) `@ux`txh]
|
||||
=* done `txh
|
||||
=* wait ~
|
||||
?: ?=(%error -.r)
|
||||
@ -282,6 +358,6 @@
|
||||
~& [%sigh-tang wir]
|
||||
~& (slog err)
|
||||
?: =(~ wen) [~ this]
|
||||
=. wen `(add now.bol ~s10)
|
||||
=. wen `(add now.bol ~s30)
|
||||
[[ost.bol %wait /see (need wen)]~ this]
|
||||
--
|
||||
|
Loading…
Reference in New Issue
Block a user