web3p / ethereum-tx

Ethereum transaction library in PHP.
https://www.web3p.xyz/ethereumtx.html
MIT License
183 stars 63 forks source link

The 0x00 nonce error #15

Closed olegabr closed 6 years ago

olegabr commented 6 years ago
txFields: Array
(
    [nonce] => 0x00
    [to] => 0x92a9fea1d70aded8c7de4a8d291a2a0b4cf09b28
    [gas] => 0x030d40
    [gasPrice] => 0x77359400
    [value] => 0x0
    [chainId] => 1
    [data] => 0x095ea7b30000000000000000000000003091d37ef18cb33af72cf7ca63714733172ce724000000000000000000000000000000000000000000108b2a2c28029094000000
)

06-16-2018 @ 20:12:45 - Failed to sendRawTransaction: RuntimeException: rlp: non-canonical integer (leading zero bytes) for uint64, decoding into (types.Transaction)(types.txdata).AccountNonce in /var/www/html/wp-content/plugins/cryptocurrency-product-for-woocommerce/vendor/olegabr/web3.php/src/RequestManagers/HttpRequestManager.php:114
Stack trace:
#0 /var/www/html/wp-content/plugins/cryptocurrency-product-for-woocommerce/vendor/olegabr/web3.php/src/Providers/HttpProvider.php(62): Web3\RequestManagers\HttpRequestManager->sendPayload('{"id":155983314...', Object(Closure))
#1 /var/www/html/wp-content/plugins/cryptocurrency-product-for-woocommerce/vendor/olegabr/web3.php/src/Eth.php(105): Web3\Providers\HttpProvider->send(Object(Web3\Methods\Eth\SendRawTransaction), Object(Closure))
#2 /var/www/html/wp-content/plugins/cryptocurrency-product-for-woocommerce/cryptocurrency-product-for-woocommerce.php(564): Web3\Eth->__call('sendRawTransact...', Array)
#3 /var/www/html/wp-content/plugins/cryptocurrency-product-for-woocommerce/cryptocurrency-product-for-woocommerce.php(439): CRYPTOCURRENCY_PRODUCT_FOR_WOOCOMMERCE_make_token_deposit(772, '0x92a9fea1d70ad...', '20000000')
#4 /var/www/html/wp-includes/class-wp-hook.php(288): CRYPTOCURRENCY_PRODUCT_FOR_WOOCOMMERCE_save_option_field(772)
#5 /var/www/html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#6 /var/www/html/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#7 /var/www/html/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-meta-boxes.php(220): do_action('woocommerce_pro...', 772, Object(WP_Post))
#8 /var/www/html/wp-includes/class-wp-hook.php(288): WC_Admin_Meta_Boxes->save_meta_boxes(772, Object(WP_Post))
#9 /var/www/html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#10 /var/www/html/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#11 /var/www/html/wp-includes/post.php(3640): do_action('save_post', 772, Object(WP_Post), true)
#12 /var/www/html/wp-includes/post.php(3713): wp_insert_post(Array, false)
#13 /var/www/html/wp-admin/includes/post.php(377): wp_update_post(Array)
#14 /var/www/html/wp-admin/post.php(194): edit_post()
#15 {main}

The wallet with no out tx ever made (which leads to nonce = 0) is unusable with current code. When I've made a single out tx for this wallet, the code became work as expected.