github.com/haliliceylan/bsc@v1.1.10-0.20220501224556-eb78d644ebcb/internal/web3ext/web3ext.go (about) 1 // Copyright 2015 The go-ethereum Authors 2 // This file is part of the go-ethereum library. 3 // 4 // The go-ethereum library is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Lesser General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // The go-ethereum library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public License 15 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. 16 17 // package web3ext contains geth specific web3.js extensions. 18 package web3ext 19 20 var Modules = map[string]string{ 21 "accounting": AccountingJs, 22 "admin": AdminJs, 23 "chequebook": ChequebookJs, 24 "clique": CliqueJs, 25 "ethash": EthashJs, 26 "debug": DebugJs, 27 "eth": EthJs, 28 "miner": MinerJs, 29 "net": NetJs, 30 "personal": PersonalJs, 31 "rpc": RpcJs, 32 "shh": ShhJs, 33 "swarmfs": SwarmfsJs, 34 "txpool": TxpoolJs, 35 "les": LESJs, 36 "vflux": VfluxJs, 37 } 38 39 const ChequebookJs = ` 40 web3._extend({ 41 property: 'chequebook', 42 methods: [ 43 new web3._extend.Method({ 44 name: 'deposit', 45 call: 'chequebook_deposit', 46 params: 1, 47 inputFormatter: [null] 48 }), 49 new web3._extend.Property({ 50 name: 'balance', 51 getter: 'chequebook_balance', 52 outputFormatter: web3._extend.utils.toDecimal 53 }), 54 new web3._extend.Method({ 55 name: 'cash', 56 call: 'chequebook_cash', 57 params: 1, 58 inputFormatter: [null] 59 }), 60 new web3._extend.Method({ 61 name: 'issue', 62 call: 'chequebook_issue', 63 params: 2, 64 inputFormatter: [null, null] 65 }), 66 ] 67 }); 68 ` 69 70 const CliqueJs = ` 71 web3._extend({ 72 property: 'clique', 73 methods: [ 74 new web3._extend.Method({ 75 name: 'getSnapshot', 76 call: 'clique_getSnapshot', 77 params: 1, 78 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter] 79 }), 80 new web3._extend.Method({ 81 name: 'getSnapshotAtHash', 82 call: 'clique_getSnapshotAtHash', 83 params: 1 84 }), 85 new web3._extend.Method({ 86 name: 'getSigners', 87 call: 'clique_getSigners', 88 params: 1, 89 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter] 90 }), 91 new web3._extend.Method({ 92 name: 'getSignersAtHash', 93 call: 'clique_getSignersAtHash', 94 params: 1 95 }), 96 new web3._extend.Method({ 97 name: 'propose', 98 call: 'clique_propose', 99 params: 2 100 }), 101 new web3._extend.Method({ 102 name: 'discard', 103 call: 'clique_discard', 104 params: 1 105 }), 106 new web3._extend.Method({ 107 name: 'status', 108 call: 'clique_status', 109 params: 0 110 }), 111 ], 112 properties: [ 113 new web3._extend.Property({ 114 name: 'proposals', 115 getter: 'clique_proposals' 116 }), 117 ] 118 }); 119 ` 120 121 const EthashJs = ` 122 web3._extend({ 123 property: 'ethash', 124 methods: [ 125 new web3._extend.Method({ 126 name: 'getWork', 127 call: 'ethash_getWork', 128 params: 0 129 }), 130 new web3._extend.Method({ 131 name: 'getHashrate', 132 call: 'ethash_getHashrate', 133 params: 0 134 }), 135 new web3._extend.Method({ 136 name: 'submitWork', 137 call: 'ethash_submitWork', 138 params: 3, 139 }), 140 new web3._extend.Method({ 141 name: 'submitHashrate', 142 call: 'ethash_submitHashrate', 143 params: 2, 144 }), 145 ] 146 }); 147 ` 148 149 const AdminJs = ` 150 web3._extend({ 151 property: 'admin', 152 methods: [ 153 new web3._extend.Method({ 154 name: 'addPeer', 155 call: 'admin_addPeer', 156 params: 1 157 }), 158 new web3._extend.Method({ 159 name: 'removePeer', 160 call: 'admin_removePeer', 161 params: 1 162 }), 163 new web3._extend.Method({ 164 name: 'addTrustedPeer', 165 call: 'admin_addTrustedPeer', 166 params: 1 167 }), 168 new web3._extend.Method({ 169 name: 'removeTrustedPeer', 170 call: 'admin_removeTrustedPeer', 171 params: 1 172 }), 173 new web3._extend.Method({ 174 name: 'exportChain', 175 call: 'admin_exportChain', 176 params: 3, 177 inputFormatter: [null, null, null] 178 }), 179 new web3._extend.Method({ 180 name: 'importChain', 181 call: 'admin_importChain', 182 params: 1 183 }), 184 new web3._extend.Method({ 185 name: 'sleepBlocks', 186 call: 'admin_sleepBlocks', 187 params: 2 188 }), 189 new web3._extend.Method({ 190 name: 'startHTTP', 191 call: 'admin_startHTTP', 192 params: 5, 193 inputFormatter: [null, null, null, null, null] 194 }), 195 new web3._extend.Method({ 196 name: 'stopHTTP', 197 call: 'admin_stopHTTP' 198 }), 199 // This method is deprecated. 200 new web3._extend.Method({ 201 name: 'startRPC', 202 call: 'admin_startRPC', 203 params: 5, 204 inputFormatter: [null, null, null, null, null] 205 }), 206 // This method is deprecated. 207 new web3._extend.Method({ 208 name: 'stopRPC', 209 call: 'admin_stopRPC' 210 }), 211 new web3._extend.Method({ 212 name: 'startWS', 213 call: 'admin_startWS', 214 params: 4, 215 inputFormatter: [null, null, null, null] 216 }), 217 new web3._extend.Method({ 218 name: 'stopWS', 219 call: 'admin_stopWS' 220 }), 221 ], 222 properties: [ 223 new web3._extend.Property({ 224 name: 'nodeInfo', 225 getter: 'admin_nodeInfo' 226 }), 227 new web3._extend.Property({ 228 name: 'peers', 229 getter: 'admin_peers' 230 }), 231 new web3._extend.Property({ 232 name: 'datadir', 233 getter: 'admin_datadir' 234 }), 235 ] 236 }); 237 ` 238 239 const DebugJs = ` 240 web3._extend({ 241 property: 'debug', 242 methods: [ 243 new web3._extend.Method({ 244 name: 'accountRange', 245 call: 'debug_accountRange', 246 params: 6, 247 inputFormatter: [web3._extend.formatters.inputDefaultBlockNumberFormatter, null, null, null, null, null], 248 }), 249 new web3._extend.Method({ 250 name: 'printBlock', 251 call: 'debug_printBlock', 252 params: 1, 253 outputFormatter: console.log 254 }), 255 new web3._extend.Method({ 256 name: 'getBlockRlp', 257 call: 'debug_getBlockRlp', 258 params: 1 259 }), 260 new web3._extend.Method({ 261 name: 'testSignCliqueBlock', 262 call: 'debug_testSignCliqueBlock', 263 params: 2, 264 inputFormatter: [web3._extend.formatters.inputAddressFormatter, null], 265 }), 266 new web3._extend.Method({ 267 name: 'setHead', 268 call: 'debug_setHead', 269 params: 1 270 }), 271 new web3._extend.Method({ 272 name: 'seedHash', 273 call: 'debug_seedHash', 274 params: 1 275 }), 276 new web3._extend.Method({ 277 name: 'dumpBlock', 278 call: 'debug_dumpBlock', 279 params: 1, 280 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter] 281 }), 282 new web3._extend.Method({ 283 name: 'chaindbProperty', 284 call: 'debug_chaindbProperty', 285 params: 1, 286 outputFormatter: console.log 287 }), 288 new web3._extend.Method({ 289 name: 'chaindbCompact', 290 call: 'debug_chaindbCompact', 291 }), 292 new web3._extend.Method({ 293 name: 'verbosity', 294 call: 'debug_verbosity', 295 params: 1 296 }), 297 new web3._extend.Method({ 298 name: 'vmodule', 299 call: 'debug_vmodule', 300 params: 1 301 }), 302 new web3._extend.Method({ 303 name: 'backtraceAt', 304 call: 'debug_backtraceAt', 305 params: 1, 306 }), 307 new web3._extend.Method({ 308 name: 'stacks', 309 call: 'debug_stacks', 310 params: 0, 311 outputFormatter: console.log 312 }), 313 new web3._extend.Method({ 314 name: 'freeOSMemory', 315 call: 'debug_freeOSMemory', 316 params: 0, 317 }), 318 new web3._extend.Method({ 319 name: 'setGCPercent', 320 call: 'debug_setGCPercent', 321 params: 1, 322 }), 323 new web3._extend.Method({ 324 name: 'memStats', 325 call: 'debug_memStats', 326 params: 0, 327 }), 328 new web3._extend.Method({ 329 name: 'gcStats', 330 call: 'debug_gcStats', 331 params: 0, 332 }), 333 new web3._extend.Method({ 334 name: 'cpuProfile', 335 call: 'debug_cpuProfile', 336 params: 2 337 }), 338 new web3._extend.Method({ 339 name: 'startCPUProfile', 340 call: 'debug_startCPUProfile', 341 params: 1 342 }), 343 new web3._extend.Method({ 344 name: 'stopCPUProfile', 345 call: 'debug_stopCPUProfile', 346 params: 0 347 }), 348 new web3._extend.Method({ 349 name: 'goTrace', 350 call: 'debug_goTrace', 351 params: 2 352 }), 353 new web3._extend.Method({ 354 name: 'startGoTrace', 355 call: 'debug_startGoTrace', 356 params: 1 357 }), 358 new web3._extend.Method({ 359 name: 'stopGoTrace', 360 call: 'debug_stopGoTrace', 361 params: 0 362 }), 363 new web3._extend.Method({ 364 name: 'blockProfile', 365 call: 'debug_blockProfile', 366 params: 2 367 }), 368 new web3._extend.Method({ 369 name: 'setBlockProfileRate', 370 call: 'debug_setBlockProfileRate', 371 params: 1 372 }), 373 new web3._extend.Method({ 374 name: 'writeBlockProfile', 375 call: 'debug_writeBlockProfile', 376 params: 1 377 }), 378 new web3._extend.Method({ 379 name: 'mutexProfile', 380 call: 'debug_mutexProfile', 381 params: 2 382 }), 383 new web3._extend.Method({ 384 name: 'setMutexProfileFraction', 385 call: 'debug_setMutexProfileFraction', 386 params: 1 387 }), 388 new web3._extend.Method({ 389 name: 'writeMutexProfile', 390 call: 'debug_writeMutexProfile', 391 params: 1 392 }), 393 new web3._extend.Method({ 394 name: 'writeMemProfile', 395 call: 'debug_writeMemProfile', 396 params: 1 397 }), 398 new web3._extend.Method({ 399 name: 'traceBlock', 400 call: 'debug_traceBlock', 401 params: 2, 402 inputFormatter: [null, null] 403 }), 404 new web3._extend.Method({ 405 name: 'traceBlockFromFile', 406 call: 'debug_traceBlockFromFile', 407 params: 2, 408 inputFormatter: [null, null] 409 }), 410 new web3._extend.Method({ 411 name: 'traceBadBlock', 412 call: 'debug_traceBadBlock', 413 params: 1, 414 inputFormatter: [null] 415 }), 416 new web3._extend.Method({ 417 name: 'standardTraceBadBlockToFile', 418 call: 'debug_standardTraceBadBlockToFile', 419 params: 2, 420 inputFormatter: [null, null] 421 }), 422 new web3._extend.Method({ 423 name: 'intermediateRoots', 424 call: 'debug_intermediateRoots', 425 params: 2, 426 inputFormatter: [null, null] 427 }), 428 new web3._extend.Method({ 429 name: 'standardTraceBlockToFile', 430 call: 'debug_standardTraceBlockToFile', 431 params: 2, 432 inputFormatter: [null, null] 433 }), 434 new web3._extend.Method({ 435 name: 'traceBlockByNumber', 436 call: 'debug_traceBlockByNumber', 437 params: 2, 438 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter, null] 439 }), 440 new web3._extend.Method({ 441 name: 'traceBlockByHash', 442 call: 'debug_traceBlockByHash', 443 params: 2, 444 inputFormatter: [null, null] 445 }), 446 new web3._extend.Method({ 447 name: 'traceTransaction', 448 call: 'debug_traceTransaction', 449 params: 2, 450 inputFormatter: [null, null] 451 }), 452 new web3._extend.Method({ 453 name: 'traceCall', 454 call: 'debug_traceCall', 455 params: 3, 456 inputFormatter: [null, null, null] 457 }), 458 new web3._extend.Method({ 459 name: 'preimage', 460 call: 'debug_preimage', 461 params: 1, 462 inputFormatter: [null] 463 }), 464 new web3._extend.Method({ 465 name: 'getBadBlocks', 466 call: 'debug_getBadBlocks', 467 params: 0, 468 }), 469 new web3._extend.Method({ 470 name: 'storageRangeAt', 471 call: 'debug_storageRangeAt', 472 params: 5, 473 }), 474 new web3._extend.Method({ 475 name: 'getModifiedAccountsByNumber', 476 call: 'debug_getModifiedAccountsByNumber', 477 params: 2, 478 inputFormatter: [null, null], 479 }), 480 new web3._extend.Method({ 481 name: 'getModifiedAccountsByHash', 482 call: 'debug_getModifiedAccountsByHash', 483 params: 2, 484 inputFormatter:[null, null], 485 }), 486 new web3._extend.Method({ 487 name: 'freezeClient', 488 call: 'debug_freezeClient', 489 params: 1, 490 }), 491 ], 492 properties: [] 493 }); 494 ` 495 496 const EthJs = ` 497 web3._extend({ 498 property: 'eth', 499 methods: [ 500 new web3._extend.Method({ 501 name: 'chainId', 502 call: 'eth_chainId', 503 params: 0 504 }), 505 new web3._extend.Method({ 506 name: 'sign', 507 call: 'eth_sign', 508 params: 2, 509 inputFormatter: [web3._extend.formatters.inputAddressFormatter, null] 510 }), 511 new web3._extend.Method({ 512 name: 'resend', 513 call: 'eth_resend', 514 params: 3, 515 inputFormatter: [web3._extend.formatters.inputTransactionFormatter, web3._extend.utils.fromDecimal, web3._extend.utils.fromDecimal] 516 }), 517 new web3._extend.Method({ 518 name: 'signTransaction', 519 call: 'eth_signTransaction', 520 params: 1, 521 inputFormatter: [web3._extend.formatters.inputTransactionFormatter] 522 }), 523 new web3._extend.Method({ 524 name: 'estimateGas', 525 call: 'eth_estimateGas', 526 params: 2, 527 inputFormatter: [web3._extend.formatters.inputCallFormatter, web3._extend.formatters.inputBlockNumberFormatter], 528 outputFormatter: web3._extend.utils.toDecimal 529 }), 530 new web3._extend.Method({ 531 name: 'submitTransaction', 532 call: 'eth_submitTransaction', 533 params: 1, 534 inputFormatter: [web3._extend.formatters.inputTransactionFormatter] 535 }), 536 new web3._extend.Method({ 537 name: 'fillTransaction', 538 call: 'eth_fillTransaction', 539 params: 1, 540 inputFormatter: [web3._extend.formatters.inputTransactionFormatter] 541 }), 542 new web3._extend.Method({ 543 name: 'getHeaderByNumber', 544 call: 'eth_getHeaderByNumber', 545 params: 1, 546 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter] 547 }), 548 new web3._extend.Method({ 549 name: 'getHeaderByHash', 550 call: 'eth_getHeaderByHash', 551 params: 1 552 }), 553 new web3._extend.Method({ 554 name: 'getBlockByNumber', 555 call: 'eth_getBlockByNumber', 556 params: 2, 557 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter, function (val) { return !!val; }] 558 }), 559 new web3._extend.Method({ 560 name: 'getBlockByHash', 561 call: 'eth_getBlockByHash', 562 params: 2, 563 inputFormatter: [null, function (val) { return !!val; }] 564 }), 565 new web3._extend.Method({ 566 name: 'getRawTransaction', 567 call: 'eth_getRawTransactionByHash', 568 params: 1 569 }), 570 new web3._extend.Method({ 571 name: 'getRawTransactionFromBlock', 572 call: function(args) { 573 return (web3._extend.utils.isString(args[0]) && args[0].indexOf('0x') === 0) ? 'eth_getRawTransactionByBlockHashAndIndex' : 'eth_getRawTransactionByBlockNumberAndIndex'; 574 }, 575 params: 2, 576 inputFormatter: [web3._extend.formatters.inputBlockNumberFormatter, web3._extend.utils.toHex] 577 }), 578 new web3._extend.Method({ 579 name: 'getProof', 580 call: 'eth_getProof', 581 params: 3, 582 inputFormatter: [web3._extend.formatters.inputAddressFormatter, null, web3._extend.formatters.inputBlockNumberFormatter] 583 }), 584 new web3._extend.Method({ 585 name: 'createAccessList', 586 call: 'eth_createAccessList', 587 params: 2, 588 inputFormatter: [null, web3._extend.formatters.inputBlockNumberFormatter], 589 }), 590 ], 591 properties: [ 592 new web3._extend.Property({ 593 name: 'pendingTransactions', 594 getter: 'eth_pendingTransactions', 595 outputFormatter: function(txs) { 596 var formatted = []; 597 for (var i = 0; i < txs.length; i++) { 598 formatted.push(web3._extend.formatters.outputTransactionFormatter(txs[i])); 599 formatted[i].blockHash = null; 600 } 601 return formatted; 602 } 603 }), 604 ] 605 }); 606 ` 607 608 const MinerJs = ` 609 web3._extend({ 610 property: 'miner', 611 methods: [ 612 new web3._extend.Method({ 613 name: 'start', 614 call: 'miner_start', 615 params: 1, 616 inputFormatter: [null] 617 }), 618 new web3._extend.Method({ 619 name: 'stop', 620 call: 'miner_stop' 621 }), 622 new web3._extend.Method({ 623 name: 'setEtherbase', 624 call: 'miner_setEtherbase', 625 params: 1, 626 inputFormatter: [web3._extend.formatters.inputAddressFormatter] 627 }), 628 new web3._extend.Method({ 629 name: 'setExtra', 630 call: 'miner_setExtra', 631 params: 1 632 }), 633 new web3._extend.Method({ 634 name: 'setGasPrice', 635 call: 'miner_setGasPrice', 636 params: 1, 637 inputFormatter: [web3._extend.utils.fromDecimal] 638 }), 639 new web3._extend.Method({ 640 name: 'setRecommitInterval', 641 call: 'miner_setRecommitInterval', 642 params: 1, 643 }), 644 new web3._extend.Method({ 645 name: 'getHashrate', 646 call: 'miner_getHashrate' 647 }), 648 ], 649 properties: [] 650 }); 651 ` 652 653 const NetJs = ` 654 web3._extend({ 655 property: 'net', 656 methods: [], 657 properties: [ 658 new web3._extend.Property({ 659 name: 'version', 660 getter: 'net_version' 661 }), 662 ] 663 }); 664 ` 665 666 const PersonalJs = ` 667 web3._extend({ 668 property: 'personal', 669 methods: [ 670 new web3._extend.Method({ 671 name: 'importRawKey', 672 call: 'personal_importRawKey', 673 params: 2 674 }), 675 new web3._extend.Method({ 676 name: 'sign', 677 call: 'personal_sign', 678 params: 3, 679 inputFormatter: [null, web3._extend.formatters.inputAddressFormatter, null] 680 }), 681 new web3._extend.Method({ 682 name: 'ecRecover', 683 call: 'personal_ecRecover', 684 params: 2 685 }), 686 new web3._extend.Method({ 687 name: 'openWallet', 688 call: 'personal_openWallet', 689 params: 2 690 }), 691 new web3._extend.Method({ 692 name: 'deriveAccount', 693 call: 'personal_deriveAccount', 694 params: 3 695 }), 696 new web3._extend.Method({ 697 name: 'signTransaction', 698 call: 'personal_signTransaction', 699 params: 2, 700 inputFormatter: [web3._extend.formatters.inputTransactionFormatter, null] 701 }), 702 new web3._extend.Method({ 703 name: 'unpair', 704 call: 'personal_unpair', 705 params: 2 706 }), 707 new web3._extend.Method({ 708 name: 'initializeWallet', 709 call: 'personal_initializeWallet', 710 params: 1 711 }) 712 ], 713 properties: [ 714 new web3._extend.Property({ 715 name: 'listWallets', 716 getter: 'personal_listWallets' 717 }), 718 ] 719 }) 720 ` 721 722 const RpcJs = ` 723 web3._extend({ 724 property: 'rpc', 725 methods: [], 726 properties: [ 727 new web3._extend.Property({ 728 name: 'modules', 729 getter: 'rpc_modules' 730 }), 731 ] 732 }); 733 ` 734 735 const ShhJs = ` 736 web3._extend({ 737 property: 'shh', 738 methods: [ 739 ], 740 properties: 741 [ 742 new web3._extend.Property({ 743 name: 'version', 744 getter: 'shh_version', 745 outputFormatter: web3._extend.utils.toDecimal 746 }), 747 new web3._extend.Property({ 748 name: 'info', 749 getter: 'shh_info' 750 }), 751 ] 752 }); 753 ` 754 755 const SwarmfsJs = ` 756 web3._extend({ 757 property: 'swarmfs', 758 methods: 759 [ 760 new web3._extend.Method({ 761 name: 'mount', 762 call: 'swarmfs_mount', 763 params: 2 764 }), 765 new web3._extend.Method({ 766 name: 'unmount', 767 call: 'swarmfs_unmount', 768 params: 1 769 }), 770 new web3._extend.Method({ 771 name: 'listmounts', 772 call: 'swarmfs_listmounts', 773 params: 0 774 }), 775 ] 776 }); 777 ` 778 779 const TxpoolJs = ` 780 web3._extend({ 781 property: 'txpool', 782 methods: [], 783 properties: 784 [ 785 new web3._extend.Property({ 786 name: 'content', 787 getter: 'txpool_content' 788 }), 789 new web3._extend.Property({ 790 name: 'inspect', 791 getter: 'txpool_inspect' 792 }), 793 new web3._extend.Property({ 794 name: 'status', 795 getter: 'txpool_status', 796 outputFormatter: function(status) { 797 status.pending = web3._extend.utils.toDecimal(status.pending); 798 status.queued = web3._extend.utils.toDecimal(status.queued); 799 return status; 800 } 801 }), 802 ] 803 }); 804 ` 805 806 const AccountingJs = ` 807 web3._extend({ 808 property: 'accounting', 809 methods: [ 810 new web3._extend.Property({ 811 name: 'balance', 812 getter: 'account_balance' 813 }), 814 new web3._extend.Property({ 815 name: 'balanceCredit', 816 getter: 'account_balanceCredit' 817 }), 818 new web3._extend.Property({ 819 name: 'balanceDebit', 820 getter: 'account_balanceDebit' 821 }), 822 new web3._extend.Property({ 823 name: 'bytesCredit', 824 getter: 'account_bytesCredit' 825 }), 826 new web3._extend.Property({ 827 name: 'bytesDebit', 828 getter: 'account_bytesDebit' 829 }), 830 new web3._extend.Property({ 831 name: 'msgCredit', 832 getter: 'account_msgCredit' 833 }), 834 new web3._extend.Property({ 835 name: 'msgDebit', 836 getter: 'account_msgDebit' 837 }), 838 new web3._extend.Property({ 839 name: 'peerDrops', 840 getter: 'account_peerDrops' 841 }), 842 new web3._extend.Property({ 843 name: 'selfDrops', 844 getter: 'account_selfDrops' 845 }), 846 ] 847 }); 848 ` 849 850 const LESJs = ` 851 web3._extend({ 852 property: 'les', 853 methods: 854 [ 855 new web3._extend.Method({ 856 name: 'getCheckpoint', 857 call: 'les_getCheckpoint', 858 params: 1 859 }), 860 new web3._extend.Method({ 861 name: 'clientInfo', 862 call: 'les_clientInfo', 863 params: 1 864 }), 865 new web3._extend.Method({ 866 name: 'priorityClientInfo', 867 call: 'les_priorityClientInfo', 868 params: 3 869 }), 870 new web3._extend.Method({ 871 name: 'setClientParams', 872 call: 'les_setClientParams', 873 params: 2 874 }), 875 new web3._extend.Method({ 876 name: 'setDefaultParams', 877 call: 'les_setDefaultParams', 878 params: 1 879 }), 880 new web3._extend.Method({ 881 name: 'addBalance', 882 call: 'les_addBalance', 883 params: 2 884 }), 885 ], 886 properties: 887 [ 888 new web3._extend.Property({ 889 name: 'latestCheckpoint', 890 getter: 'les_latestCheckpoint' 891 }), 892 new web3._extend.Property({ 893 name: 'checkpointContractAddress', 894 getter: 'les_getCheckpointContractAddress' 895 }), 896 new web3._extend.Property({ 897 name: 'serverInfo', 898 getter: 'les_serverInfo' 899 }), 900 ] 901 }); 902 ` 903 904 const VfluxJs = ` 905 web3._extend({ 906 property: 'vflux', 907 methods: 908 [ 909 new web3._extend.Method({ 910 name: 'distribution', 911 call: 'vflux_distribution', 912 params: 2 913 }), 914 new web3._extend.Method({ 915 name: 'timeout', 916 call: 'vflux_timeout', 917 params: 2 918 }), 919 new web3._extend.Method({ 920 name: 'value', 921 call: 'vflux_value', 922 params: 2 923 }), 924 ], 925 properties: 926 [ 927 new web3._extend.Property({ 928 name: 'requestStats', 929 getter: 'vflux_requestStats' 930 }), 931 ] 932 }); 933 `