gitlab.com/yannislg/go-pulse@v0.0.0-20210722055913-a3e24e95638d/consensus/parlia/abi.go (about) 1 package parlia 2 3 const validatorSetABI = ` 4 [ 5 { 6 "anonymous": false, 7 "inputs": [ 8 { 9 "indexed": true, 10 "internalType": "address", 11 "name": "validator", 12 "type": "address" 13 }, 14 { 15 "indexed": false, 16 "internalType": "uint256", 17 "name": "amount", 18 "type": "uint256" 19 } 20 ], 21 "name": "SystemDeposit", 22 "type": "event" 23 }, 24 { 25 "anonymous": false, 26 "inputs": [ 27 { 28 "indexed": true, 29 "internalType": "address", 30 "name": "validator", 31 "type": "address" 32 }, 33 { 34 "indexed": false, 35 "internalType": "uint256", 36 "name": "amount", 37 "type": "uint256" 38 } 39 ], 40 "name": "ValidatorDeposit", 41 "type": "event" 42 }, 43 { 44 "anonymous": false, 45 "inputs": [ 46 { 47 "indexed": true, 48 "internalType": "address", 49 "name": "validator", 50 "type": "address" 51 }, 52 { 53 "indexed": false, 54 "internalType": "uint256", 55 "name": "amount", 56 "type": "uint256" 57 } 58 ], 59 "name": "ValidatorFelony", 60 "type": "event" 61 }, 62 { 63 "anonymous": false, 64 "inputs": [ 65 { 66 "indexed": true, 67 "internalType": "address", 68 "name": "validator", 69 "type": "address" 70 } 71 ], 72 "name": "ValidatorJailed", 73 "type": "event" 74 }, 75 { 76 "anonymous": false, 77 "inputs": [ 78 { 79 "indexed": true, 80 "internalType": "address", 81 "name": "validator", 82 "type": "address" 83 }, 84 { 85 "indexed": false, 86 "internalType": "uint256", 87 "name": "amount", 88 "type": "uint256" 89 } 90 ], 91 "name": "ValidatorMisdemeanor", 92 "type": "event" 93 }, 94 { 95 "anonymous": false, 96 "inputs": [ 97 { 98 "indexed": false, 99 "internalType": "string", 100 "name": "message", 101 "type": "string" 102 } 103 ], 104 "name": "ValidatorSetInvalid", 105 "type": "event" 106 }, 107 { 108 "anonymous": false, 109 "inputs": [], 110 "name": "ValidatorSetUpdated", 111 "type": "event" 112 }, 113 { 114 "inputs": [], 115 "name": "CODE_OK", 116 "outputs": [ 117 { 118 "internalType": "uint32", 119 "name": "", 120 "type": "uint32" 121 } 122 ], 123 "stateMutability": "view", 124 "type": "function" 125 }, 126 { 127 "inputs": [], 128 "name": "ERROR_FAIL_CHECK_VALIDATORS", 129 "outputs": [ 130 { 131 "internalType": "uint32", 132 "name": "", 133 "type": "uint32" 134 } 135 ], 136 "stateMutability": "view", 137 "type": "function" 138 }, 139 { 140 "inputs": [], 141 "name": "MAX_NUM_OF_VALIDATORS", 142 "outputs": [ 143 { 144 "internalType": "uint256", 145 "name": "", 146 "type": "uint256" 147 } 148 ], 149 "stateMutability": "view", 150 "type": "function" 151 }, 152 { 153 "inputs": [], 154 "name": "SLASHING_CONTRACT_ADDR", 155 "outputs": [ 156 { 157 "internalType": "address", 158 "name": "", 159 "type": "address" 160 } 161 ], 162 "stateMutability": "view", 163 "type": "function" 164 }, 165 { 166 "inputs": [], 167 "name": "STAKING_CONTRACT_ADDR", 168 "outputs": [ 169 { 170 "internalType": "address", 171 "name": "", 172 "type": "address" 173 } 174 ], 175 "stateMutability": "view", 176 "type": "function" 177 }, 178 { 179 "inputs": [], 180 "name": "VALIDATOR_CONTRACT_ADDR", 181 "outputs": [ 182 { 183 "internalType": "address", 184 "name": "", 185 "type": "address" 186 } 187 ], 188 "stateMutability": "view", 189 "type": "function" 190 }, 191 { 192 "inputs": [], 193 "name": "alreadyInit", 194 "outputs": [ 195 { 196 "internalType": "bool", 197 "name": "", 198 "type": "bool" 199 } 200 ], 201 "stateMutability": "view", 202 "type": "function" 203 }, 204 { 205 "inputs": [ 206 { 207 "internalType": "uint256", 208 "name": "", 209 "type": "uint256" 210 } 211 ], 212 "name": "currentValidatorSet", 213 "outputs": [ 214 { 215 "internalType": "address", 216 "name": "addr", 217 "type": "address" 218 }, 219 { 220 "internalType": "bool", 221 "name": "jailed", 222 "type": "bool" 223 }, 224 { 225 "internalType": "uint256", 226 "name": "incoming", 227 "type": "uint256" 228 } 229 ], 230 "stateMutability": "view", 231 "type": "function" 232 }, 233 { 234 "inputs": [ 235 { 236 "internalType": "address", 237 "name": "", 238 "type": "address" 239 } 240 ], 241 "name": "currentValidatorSetMap", 242 "outputs": [ 243 { 244 "internalType": "uint256", 245 "name": "", 246 "type": "uint256" 247 } 248 ], 249 "stateMutability": "view", 250 "type": "function" 251 }, 252 { 253 "inputs": [], 254 "name": "numOfJailed", 255 "outputs": [ 256 { 257 "internalType": "uint256", 258 "name": "", 259 "type": "uint256" 260 } 261 ], 262 "stateMutability": "view", 263 "type": "function" 264 }, 265 { 266 "inputs": [], 267 "name": "init", 268 "outputs": [], 269 "stateMutability": "nonpayable", 270 "type": "function" 271 }, 272 { 273 "inputs": [ 274 { 275 "internalType": "address", 276 "name": "valAddr", 277 "type": "address" 278 } 279 ], 280 "name": "deposit", 281 "outputs": [], 282 "stateMutability": "payable", 283 "type": "function" 284 }, 285 { 286 "inputs": [ 287 { 288 "internalType": "address", 289 "name": "valAddr", 290 "type": "address" 291 } 292 ], 293 "name": "jailValidator", 294 "outputs": [ 295 { 296 "internalType": "uint32", 297 "name": "", 298 "type": "uint32" 299 } 300 ], 301 "stateMutability": "nonpayable", 302 "type": "function" 303 }, 304 { 305 "inputs": [ 306 { 307 "internalType": "address[]", 308 "name": "validators", 309 "type": "address[]" 310 } 311 ], 312 "name": "updateValidatorSet", 313 "outputs": [ 314 { 315 "internalType": "uint32", 316 "name": "", 317 "type": "uint32" 318 } 319 ], 320 "stateMutability": "nonpayable", 321 "type": "function" 322 }, 323 { 324 "inputs": [], 325 "name": "getValidators", 326 "outputs": [ 327 { 328 "internalType": "address[]", 329 "name": "", 330 "type": "address[]" 331 } 332 ], 333 "stateMutability": "view", 334 "type": "function" 335 }, 336 { 337 "inputs": [ 338 { 339 "internalType": "address", 340 "name": "valAddr", 341 "type": "address" 342 } 343 ], 344 "name": "getIncoming", 345 "outputs": [ 346 { 347 "internalType": "uint256", 348 "name": "", 349 "type": "uint256" 350 } 351 ], 352 "stateMutability": "view", 353 "type": "function" 354 }, 355 { 356 "inputs": [ 357 { 358 "internalType": "address", 359 "name": "valAddr", 360 "type": "address" 361 } 362 ], 363 "name": "misdemeanor", 364 "outputs": [], 365 "stateMutability": "nonpayable", 366 "type": "function" 367 }, 368 { 369 "inputs": [ 370 { 371 "internalType": "address", 372 "name": "valAddr", 373 "type": "address" 374 } 375 ], 376 "name": "felony", 377 "outputs": [], 378 "stateMutability": "nonpayable", 379 "type": "function" 380 } 381 ] 382 ` 383 384 const slashingABI = ` 385 [ 386 { 387 "anonymous": false, 388 "inputs": [], 389 "name": "IndicatorCleaned", 390 "type": "event" 391 }, 392 { 393 "anonymous": false, 394 "inputs": [ 395 { 396 "indexed": true, 397 "internalType": "address", 398 "name": "validator", 399 "type": "address" 400 } 401 ], 402 "name": "ValidatorSlashed", 403 "type": "event" 404 }, 405 { 406 "inputs": [], 407 "name": "CODE_OK", 408 "outputs": [ 409 { 410 "internalType": "uint32", 411 "name": "", 412 "type": "uint32" 413 } 414 ], 415 "stateMutability": "view", 416 "type": "function" 417 }, 418 { 419 "inputs": [], 420 "name": "DECREASE_RATE", 421 "outputs": [ 422 { 423 "internalType": "uint256", 424 "name": "", 425 "type": "uint256" 426 } 427 ], 428 "stateMutability": "view", 429 "type": "function" 430 }, 431 { 432 "inputs": [], 433 "name": "FELONY_THRESHOLD", 434 "outputs": [ 435 { 436 "internalType": "uint256", 437 "name": "", 438 "type": "uint256" 439 } 440 ], 441 "stateMutability": "view", 442 "type": "function" 443 }, 444 { 445 "inputs": [], 446 "name": "MISDEMEANOR_THRESHOLD", 447 "outputs": [ 448 { 449 "internalType": "uint256", 450 "name": "", 451 "type": "uint256" 452 } 453 ], 454 "stateMutability": "view", 455 "type": "function" 456 }, 457 { 458 "inputs": [], 459 "name": "SLASHING_CONTRACT_ADDR", 460 "outputs": [ 461 { 462 "internalType": "address", 463 "name": "", 464 "type": "address" 465 } 466 ], 467 "stateMutability": "view", 468 "type": "function" 469 }, 470 { 471 "inputs": [], 472 "name": "STAKING_CONTRACT_ADDR", 473 "outputs": [ 474 { 475 "internalType": "address", 476 "name": "", 477 "type": "address" 478 } 479 ], 480 "stateMutability": "view", 481 "type": "function" 482 }, 483 { 484 "inputs": [], 485 "name": "VALIDATOR_CONTRACT_ADDR", 486 "outputs": [ 487 { 488 "internalType": "address", 489 "name": "", 490 "type": "address" 491 } 492 ], 493 "stateMutability": "view", 494 "type": "function" 495 }, 496 { 497 "inputs": [], 498 "name": "alreadyInit", 499 "outputs": [ 500 { 501 "internalType": "bool", 502 "name": "", 503 "type": "bool" 504 } 505 ], 506 "stateMutability": "view", 507 "type": "function" 508 }, 509 { 510 "inputs": [ 511 { 512 "internalType": "address", 513 "name": "", 514 "type": "address" 515 } 516 ], 517 "name": "indicators", 518 "outputs": [ 519 { 520 "internalType": "uint256", 521 "name": "height", 522 "type": "uint256" 523 }, 524 { 525 "internalType": "uint256", 526 "name": "count", 527 "type": "uint256" 528 }, 529 { 530 "internalType": "bool", 531 "name": "exist", 532 "type": "bool" 533 } 534 ], 535 "stateMutability": "view", 536 "type": "function" 537 }, 538 { 539 "inputs": [], 540 "name": "previousHeight", 541 "outputs": [ 542 { 543 "internalType": "uint256", 544 "name": "", 545 "type": "uint256" 546 } 547 ], 548 "stateMutability": "view", 549 "type": "function" 550 }, 551 { 552 "inputs": [ 553 { 554 "internalType": "uint256", 555 "name": "", 556 "type": "uint256" 557 } 558 ], 559 "name": "validators", 560 "outputs": [ 561 { 562 "internalType": "address", 563 "name": "", 564 "type": "address" 565 } 566 ], 567 "stateMutability": "view", 568 "type": "function" 569 }, 570 { 571 "inputs": [ 572 { 573 "internalType": "address", 574 "name": "valAddr", 575 "type": "address" 576 } 577 ], 578 "name": "slash", 579 "outputs": [], 580 "stateMutability": "nonpayable", 581 "type": "function" 582 }, 583 { 584 "inputs": [], 585 "name": "clean", 586 "outputs": [], 587 "stateMutability": "nonpayable", 588 "type": "function" 589 }, 590 { 591 "inputs": [ 592 { 593 "internalType": "address", 594 "name": "valAddr", 595 "type": "address" 596 } 597 ], 598 "name": "getSlashIndicator", 599 "outputs": [ 600 { 601 "internalType": "uint256", 602 "name": "", 603 "type": "uint256" 604 }, 605 { 606 "internalType": "uint256", 607 "name": "", 608 "type": "uint256" 609 } 610 ], 611 "stateMutability": "view", 612 "type": "function" 613 } 614 ] 615 ` 616 617 const stakingABI = ` 618 [ 619 { 620 "anonymous": false, 621 "inputs": [ 622 { 623 "indexed": true, 624 "internalType": "address", 625 "name": "validator", 626 "type": "address" 627 }, 628 { 629 "indexed": true, 630 "internalType": "address payable", 631 "name": "payTo", 632 "type": "address" 633 }, 634 { 635 "indexed": false, 636 "internalType": "uint256", 637 "name": "amount", 638 "type": "uint256" 639 } 640 ], 641 "name": "PaymentFailed", 642 "type": "event" 643 }, 644 { 645 "anonymous": false, 646 "inputs": [ 647 { 648 "indexed": true, 649 "internalType": "address", 650 "name": "validator", 651 "type": "address" 652 }, 653 { 654 "indexed": true, 655 "internalType": "address payable", 656 "name": "payTo", 657 "type": "address" 658 }, 659 { 660 "indexed": false, 661 "internalType": "uint256", 662 "name": "amount", 663 "type": "uint256" 664 } 665 ], 666 "name": "StakerPayment", 667 "type": "event" 668 }, 669 { 670 "anonymous": false, 671 "inputs": [ 672 { 673 "indexed": true, 674 "internalType": "address", 675 "name": "validator", 676 "type": "address" 677 }, 678 { 679 "indexed": false, 680 "internalType": "uint256", 681 "name": "amount", 682 "type": "uint256" 683 } 684 ], 685 "name": "ValidatorDeposit", 686 "type": "event" 687 }, 688 { 689 "anonymous": false, 690 "inputs": [ 691 { 692 "indexed": true, 693 "internalType": "address", 694 "name": "validator", 695 "type": "address" 696 }, 697 { 698 "indexed": true, 699 "internalType": "address payable", 700 "name": "payTo", 701 "type": "address" 702 }, 703 { 704 "indexed": false, 705 "internalType": "uint256", 706 "name": "amount", 707 "type": "uint256" 708 } 709 ], 710 "name": "ValidatorPayment", 711 "type": "event" 712 }, 713 { 714 "anonymous": false, 715 "inputs": [ 716 { 717 "indexed": true, 718 "internalType": "address", 719 "name": "validator", 720 "type": "address" 721 }, 722 { 723 "indexed": false, 724 "internalType": "uint8", 725 "name": "percentRevShare", 726 "type": "uint8" 727 } 728 ], 729 "name": "ValidatorRegistered", 730 "type": "event" 731 }, 732 { 733 "anonymous": false, 734 "inputs": [ 735 { 736 "indexed": true, 737 "internalType": "address", 738 "name": "validator", 739 "type": "address" 740 }, 741 { 742 "indexed": false, 743 "internalType": "uint256", 744 "name": "amount", 745 "type": "uint256" 746 } 747 ], 748 "name": "ValidatorRewarded", 749 "type": "event" 750 }, 751 { 752 "anonymous": false, 753 "inputs": [ 754 { 755 "indexed": true, 756 "internalType": "address", 757 "name": "validator", 758 "type": "address" 759 } 760 ], 761 "name": "ValidatorSelected", 762 "type": "event" 763 }, 764 { 765 "anonymous": false, 766 "inputs": [ 767 { 768 "indexed": true, 769 "internalType": "address", 770 "name": "validator", 771 "type": "address" 772 }, 773 { 774 "indexed": true, 775 "internalType": "address", 776 "name": "staker", 777 "type": "address" 778 }, 779 { 780 "indexed": false, 781 "internalType": "uint256", 782 "name": "amount", 783 "type": "uint256" 784 } 785 ], 786 "name": "ValidatorStakeAdded", 787 "type": "event" 788 }, 789 { 790 "anonymous": false, 791 "inputs": [ 792 { 793 "indexed": true, 794 "internalType": "address", 795 "name": "validator", 796 "type": "address" 797 }, 798 { 799 "indexed": true, 800 "internalType": "address", 801 "name": "staker", 802 "type": "address" 803 }, 804 { 805 "indexed": false, 806 "internalType": "uint256", 807 "name": "amount", 808 "type": "uint256" 809 } 810 ], 811 "name": "ValidatorStakeRemoved", 812 "type": "event" 813 }, 814 { 815 "anonymous": false, 816 "inputs": [ 817 { 818 "indexed": true, 819 "internalType": "address", 820 "name": "validator", 821 "type": "address" 822 } 823 ], 824 "name": "ValidatorUnRegistered", 825 "type": "event" 826 }, 827 { 828 "inputs": [], 829 "name": "CODE_OK", 830 "outputs": [ 831 { 832 "internalType": "uint32", 833 "name": "", 834 "type": "uint32" 835 } 836 ], 837 "stateMutability": "view", 838 "type": "function" 839 }, 840 { 841 "inputs": [], 842 "name": "INIT_VALIDATORS_REVSHARE", 843 "outputs": [ 844 { 845 "internalType": "uint8", 846 "name": "", 847 "type": "uint8" 848 } 849 ], 850 "stateMutability": "view", 851 "type": "function" 852 }, 853 { 854 "inputs": [], 855 "name": "MIN_STAKE_LENGTH", 856 "outputs": [ 857 { 858 "internalType": "uint256", 859 "name": "", 860 "type": "uint256" 861 } 862 ], 863 "stateMutability": "view", 864 "type": "function" 865 }, 866 { 867 "inputs": [], 868 "name": "NUM_VALIDATORS", 869 "outputs": [ 870 { 871 "internalType": "uint16", 872 "name": "", 873 "type": "uint16" 874 } 875 ], 876 "stateMutability": "view", 877 "type": "function" 878 }, 879 { 880 "inputs": [], 881 "name": "REQUIRED_DEPOSIT", 882 "outputs": [ 883 { 884 "internalType": "uint256", 885 "name": "", 886 "type": "uint256" 887 } 888 ], 889 "stateMutability": "view", 890 "type": "function" 891 }, 892 { 893 "inputs": [], 894 "name": "SLASHING_CONTRACT_ADDR", 895 "outputs": [ 896 { 897 "internalType": "address", 898 "name": "", 899 "type": "address" 900 } 901 ], 902 "stateMutability": "view", 903 "type": "function" 904 }, 905 { 906 "inputs": [], 907 "name": "STAKING_CONTRACT_ADDR", 908 "outputs": [ 909 { 910 "internalType": "address", 911 "name": "", 912 "type": "address" 913 } 914 ], 915 "stateMutability": "view", 916 "type": "function" 917 }, 918 { 919 "inputs": [], 920 "name": "VALIDATOR_CONTRACT_ADDR", 921 "outputs": [ 922 { 923 "internalType": "address", 924 "name": "", 925 "type": "address" 926 } 927 ], 928 "stateMutability": "view", 929 "type": "function" 930 }, 931 { 932 "inputs": [], 933 "name": "alreadyInit", 934 "outputs": [ 935 { 936 "internalType": "bool", 937 "name": "", 938 "type": "bool" 939 } 940 ], 941 "stateMutability": "view", 942 "type": "function" 943 }, 944 { 945 "inputs": [ 946 { 947 "internalType": "address", 948 "name": "", 949 "type": "address" 950 } 951 ], 952 "name": "validatorDeposits", 953 "outputs": [ 954 { 955 "internalType": "uint256", 956 "name": "", 957 "type": "uint256" 958 } 959 ], 960 "stateMutability": "view", 961 "type": "function" 962 }, 963 { 964 "inputs": [ 965 { 966 "internalType": "address", 967 "name": "", 968 "type": "address" 969 } 970 ], 971 "name": "validatorMap", 972 "outputs": [ 973 { 974 "internalType": "uint256", 975 "name": "", 976 "type": "uint256" 977 } 978 ], 979 "stateMutability": "view", 980 "type": "function" 981 }, 982 { 983 "inputs": [ 984 { 985 "internalType": "address", 986 "name": "", 987 "type": "address" 988 }, 989 { 990 "internalType": "uint256", 991 "name": "", 992 "type": "uint256" 993 } 994 ], 995 "name": "validatorStakers", 996 "outputs": [ 997 { 998 "internalType": "address payable", 999 "name": "", 1000 "type": "address" 1001 } 1002 ], 1003 "stateMutability": "view", 1004 "type": "function" 1005 }, 1006 { 1007 "inputs": [], 1008 "name": "init", 1009 "outputs": [], 1010 "stateMutability": "nonpayable", 1011 "type": "function" 1012 }, 1013 { 1014 "inputs": [], 1015 "name": "listRegisteredValidators", 1016 "outputs": [ 1017 { 1018 "components": [ 1019 { 1020 "internalType": "bool", 1021 "name": "active", 1022 "type": "bool" 1023 }, 1024 { 1025 "internalType": "address", 1026 "name": "addr", 1027 "type": "address" 1028 }, 1029 { 1030 "internalType": "address payable", 1031 "name": "feeAddr", 1032 "type": "address" 1033 }, 1034 { 1035 "internalType": "uint8", 1036 "name": "percentRevShare", 1037 "type": "uint8" 1038 }, 1039 { 1040 "internalType": "bool", 1041 "name": "inRotation", 1042 "type": "bool" 1043 }, 1044 { 1045 "internalType": "uint256", 1046 "name": "pendingStake", 1047 "type": "uint256" 1048 }, 1049 { 1050 "internalType": "uint256", 1051 "name": "totalStake", 1052 "type": "uint256" 1053 } 1054 ], 1055 "internalType": "struct Staking.Validator[]", 1056 "name": "", 1057 "type": "tuple[]" 1058 } 1059 ], 1060 "stateMutability": "view", 1061 "type": "function" 1062 }, 1063 { 1064 "inputs": [], 1065 "name": "validatorDeposit", 1066 "outputs": [], 1067 "stateMutability": "payable", 1068 "type": "function" 1069 }, 1070 { 1071 "inputs": [ 1072 { 1073 "internalType": "address payable", 1074 "name": "feeAddr", 1075 "type": "address" 1076 }, 1077 { 1078 "internalType": "uint8", 1079 "name": "percentRevShare", 1080 "type": "uint8" 1081 } 1082 ], 1083 "name": "registerValidator", 1084 "outputs": [], 1085 "stateMutability": "nonpayable", 1086 "type": "function" 1087 }, 1088 { 1089 "inputs": [], 1090 "name": "unRegisterValidator", 1091 "outputs": [], 1092 "stateMutability": "nonpayable", 1093 "type": "function" 1094 }, 1095 { 1096 "inputs": [ 1097 { 1098 "internalType": "address", 1099 "name": "valAddr", 1100 "type": "address" 1101 } 1102 ], 1103 "name": "getValidator", 1104 "outputs": [ 1105 { 1106 "components": [ 1107 { 1108 "internalType": "bool", 1109 "name": "active", 1110 "type": "bool" 1111 }, 1112 { 1113 "internalType": "address", 1114 "name": "addr", 1115 "type": "address" 1116 }, 1117 { 1118 "internalType": "address payable", 1119 "name": "feeAddr", 1120 "type": "address" 1121 }, 1122 { 1123 "internalType": "uint8", 1124 "name": "percentRevShare", 1125 "type": "uint8" 1126 }, 1127 { 1128 "internalType": "bool", 1129 "name": "inRotation", 1130 "type": "bool" 1131 }, 1132 { 1133 "internalType": "uint256", 1134 "name": "pendingStake", 1135 "type": "uint256" 1136 }, 1137 { 1138 "internalType": "uint256", 1139 "name": "totalStake", 1140 "type": "uint256" 1141 } 1142 ], 1143 "internalType": "struct Staking.Validator", 1144 "name": "", 1145 "type": "tuple" 1146 } 1147 ], 1148 "stateMutability": "view", 1149 "type": "function" 1150 }, 1151 { 1152 "inputs": [], 1153 "name": "listStakes", 1154 "outputs": [ 1155 { 1156 "components": [ 1157 { 1158 "internalType": "address", 1159 "name": "addr", 1160 "type": "address" 1161 }, 1162 { 1163 "internalType": "uint256", 1164 "name": "amt", 1165 "type": "uint256" 1166 }, 1167 { 1168 "internalType": "uint256", 1169 "name": "pendingAmt", 1170 "type": "uint256" 1171 }, 1172 { 1173 "internalType": "uint256", 1174 "name": "startBlock", 1175 "type": "uint256" 1176 } 1177 ], 1178 "internalType": "struct Staking.ValidatorStake[]", 1179 "name": "", 1180 "type": "tuple[]" 1181 } 1182 ], 1183 "stateMutability": "view", 1184 "type": "function" 1185 }, 1186 { 1187 "inputs": [ 1188 { 1189 "internalType": "address", 1190 "name": "valAddr", 1191 "type": "address" 1192 } 1193 ], 1194 "name": "addStake", 1195 "outputs": [], 1196 "stateMutability": "payable", 1197 "type": "function" 1198 }, 1199 { 1200 "inputs": [ 1201 { 1202 "internalType": "address", 1203 "name": "valAddr", 1204 "type": "address" 1205 }, 1206 { 1207 "internalType": "uint256", 1208 "name": "amt", 1209 "type": "uint256" 1210 } 1211 ], 1212 "name": "removeStake", 1213 "outputs": [], 1214 "stateMutability": "nonpayable", 1215 "type": "function" 1216 }, 1217 { 1218 "inputs": [], 1219 "name": "rotateValidators", 1220 "outputs": [ 1221 { 1222 "internalType": "uint32", 1223 "name": "", 1224 "type": "uint32" 1225 } 1226 ], 1227 "stateMutability": "nonpayable", 1228 "type": "function" 1229 }, 1230 { 1231 "inputs": [ 1232 { 1233 "internalType": "address", 1234 "name": "valAddr", 1235 "type": "address" 1236 } 1237 ], 1238 "name": "rewardValidator", 1239 "outputs": [], 1240 "stateMutability": "payable", 1241 "type": "function" 1242 } 1243 ] 1244 `