Router-abi.json
1 [ 2 { 3 "inputs": [ 4 { 5 "internalType": "address", 6 "name": "wrappedNative", 7 "type": "address" 8 }, 9 { 10 "internalType": "address", 11 "name": "armProxy", 12 "type": "address" 13 } 14 ], 15 "stateMutability": "nonpayable", 16 "type": "constructor" 17 }, 18 { 19 "inputs": [], 20 "name": "BadARMSignal", 21 "type": "error" 22 }, 23 { 24 "inputs": [], 25 "name": "FailedToSendValue", 26 "type": "error" 27 }, 28 { 29 "inputs": [], 30 "name": "InsufficientFeeTokenAmount", 31 "type": "error" 32 }, 33 { 34 "inputs": [], 35 "name": "InvalidMsgValue", 36 "type": "error" 37 }, 38 { 39 "inputs": [ 40 { 41 "internalType": "address", 42 "name": "to", 43 "type": "address" 44 } 45 ], 46 "name": "InvalidRecipientAddress", 47 "type": "error" 48 }, 49 { 50 "inputs": [ 51 { 52 "internalType": "uint64", 53 "name": "chainSelector", 54 "type": "uint64" 55 }, 56 { 57 "internalType": "address", 58 "name": "offRamp", 59 "type": "address" 60 } 61 ], 62 "name": "OffRampMismatch", 63 "type": "error" 64 }, 65 { 66 "inputs": [], 67 "name": "OnlyOffRamp", 68 "type": "error" 69 }, 70 { 71 "inputs": [ 72 { 73 "internalType": "uint64", 74 "name": "destChainSelector", 75 "type": "uint64" 76 } 77 ], 78 "name": "UnsupportedDestinationChain", 79 "type": "error" 80 }, 81 { 82 "anonymous": false, 83 "inputs": [ 84 { 85 "indexed": false, 86 "internalType": "bytes32", 87 "name": "messageId", 88 "type": "bytes32" 89 }, 90 { 91 "indexed": false, 92 "internalType": "uint64", 93 "name": "sourceChainSelector", 94 "type": "uint64" 95 }, 96 { 97 "indexed": false, 98 "internalType": "address", 99 "name": "offRamp", 100 "type": "address" 101 }, 102 { 103 "indexed": false, 104 "internalType": "bytes32", 105 "name": "calldataHash", 106 "type": "bytes32" 107 } 108 ], 109 "name": "MessageExecuted", 110 "type": "event" 111 }, 112 { 113 "anonymous": false, 114 "inputs": [ 115 { 116 "indexed": true, 117 "internalType": "uint64", 118 "name": "sourceChainSelector", 119 "type": "uint64" 120 }, 121 { 122 "indexed": false, 123 "internalType": "address", 124 "name": "offRamp", 125 "type": "address" 126 } 127 ], 128 "name": "OffRampAdded", 129 "type": "event" 130 }, 131 { 132 "anonymous": false, 133 "inputs": [ 134 { 135 "indexed": true, 136 "internalType": "uint64", 137 "name": "sourceChainSelector", 138 "type": "uint64" 139 }, 140 { 141 "indexed": false, 142 "internalType": "address", 143 "name": "offRamp", 144 "type": "address" 145 } 146 ], 147 "name": "OffRampRemoved", 148 "type": "event" 149 }, 150 { 151 "anonymous": false, 152 "inputs": [ 153 { 154 "indexed": true, 155 "internalType": "uint64", 156 "name": "destChainSelector", 157 "type": "uint64" 158 }, 159 { 160 "indexed": false, 161 "internalType": "address", 162 "name": "onRamp", 163 "type": "address" 164 } 165 ], 166 "name": "OnRampSet", 167 "type": "event" 168 }, 169 { 170 "anonymous": false, 171 "inputs": [ 172 { 173 "indexed": true, 174 "internalType": "address", 175 "name": "from", 176 "type": "address" 177 }, 178 { 179 "indexed": true, 180 "internalType": "address", 181 "name": "to", 182 "type": "address" 183 } 184 ], 185 "name": "OwnershipTransferRequested", 186 "type": "event" 187 }, 188 { 189 "anonymous": false, 190 "inputs": [ 191 { 192 "indexed": true, 193 "internalType": "address", 194 "name": "from", 195 "type": "address" 196 }, 197 { 198 "indexed": true, 199 "internalType": "address", 200 "name": "to", 201 "type": "address" 202 } 203 ], 204 "name": "OwnershipTransferred", 205 "type": "event" 206 }, 207 { 208 "inputs": [], 209 "name": "MAX_RET_BYTES", 210 "outputs": [ 211 { 212 "internalType": "uint16", 213 "name": "", 214 "type": "uint16" 215 } 216 ], 217 "stateMutability": "view", 218 "type": "function" 219 }, 220 { 221 "inputs": [], 222 "name": "acceptOwnership", 223 "outputs": [], 224 "stateMutability": "nonpayable", 225 "type": "function" 226 }, 227 { 228 "inputs": [ 229 { 230 "components": [ 231 { 232 "internalType": "uint64", 233 "name": "destChainSelector", 234 "type": "uint64" 235 }, 236 { 237 "internalType": "address", 238 "name": "onRamp", 239 "type": "address" 240 } 241 ], 242 "internalType": "struct Router.OnRamp[]", 243 "name": "onRampUpdates", 244 "type": "tuple[]" 245 }, 246 { 247 "components": [ 248 { 249 "internalType": "uint64", 250 "name": "sourceChainSelector", 251 "type": "uint64" 252 }, 253 { 254 "internalType": "address", 255 "name": "offRamp", 256 "type": "address" 257 } 258 ], 259 "internalType": "struct Router.OffRamp[]", 260 "name": "offRampRemoves", 261 "type": "tuple[]" 262 }, 263 { 264 "components": [ 265 { 266 "internalType": "uint64", 267 "name": "sourceChainSelector", 268 "type": "uint64" 269 }, 270 { 271 "internalType": "address", 272 "name": "offRamp", 273 "type": "address" 274 } 275 ], 276 "internalType": "struct Router.OffRamp[]", 277 "name": "offRampAdds", 278 "type": "tuple[]" 279 } 280 ], 281 "name": "applyRampUpdates", 282 "outputs": [], 283 "stateMutability": "nonpayable", 284 "type": "function" 285 }, 286 { 287 "inputs": [ 288 { 289 "internalType": "uint64", 290 "name": "destinationChainSelector", 291 "type": "uint64" 292 }, 293 { 294 "components": [ 295 { 296 "internalType": "bytes", 297 "name": "receiver", 298 "type": "bytes" 299 }, 300 { 301 "internalType": "bytes", 302 "name": "data", 303 "type": "bytes" 304 }, 305 { 306 "components": [ 307 { 308 "internalType": "address", 309 "name": "token", 310 "type": "address" 311 }, 312 { 313 "internalType": "uint256", 314 "name": "amount", 315 "type": "uint256" 316 } 317 ], 318 "internalType": "struct Client.EVMTokenAmount[]", 319 "name": "tokenAmounts", 320 "type": "tuple[]" 321 }, 322 { 323 "internalType": "address", 324 "name": "feeToken", 325 "type": "address" 326 }, 327 { 328 "internalType": "bytes", 329 "name": "extraArgs", 330 "type": "bytes" 331 } 332 ], 333 "internalType": "struct Client.EVM2AnyMessage", 334 "name": "message", 335 "type": "tuple" 336 } 337 ], 338 "name": "ccipSend", 339 "outputs": [ 340 { 341 "internalType": "bytes32", 342 "name": "", 343 "type": "bytes32" 344 } 345 ], 346 "stateMutability": "payable", 347 "type": "function" 348 }, 349 { 350 "inputs": [], 351 "name": "getArmProxy", 352 "outputs": [ 353 { 354 "internalType": "address", 355 "name": "", 356 "type": "address" 357 } 358 ], 359 "stateMutability": "view", 360 "type": "function" 361 }, 362 { 363 "inputs": [ 364 { 365 "internalType": "uint64", 366 "name": "destinationChainSelector", 367 "type": "uint64" 368 }, 369 { 370 "components": [ 371 { 372 "internalType": "bytes", 373 "name": "receiver", 374 "type": "bytes" 375 }, 376 { 377 "internalType": "bytes", 378 "name": "data", 379 "type": "bytes" 380 }, 381 { 382 "components": [ 383 { 384 "internalType": "address", 385 "name": "token", 386 "type": "address" 387 }, 388 { 389 "internalType": "uint256", 390 "name": "amount", 391 "type": "uint256" 392 } 393 ], 394 "internalType": "struct Client.EVMTokenAmount[]", 395 "name": "tokenAmounts", 396 "type": "tuple[]" 397 }, 398 { 399 "internalType": "address", 400 "name": "feeToken", 401 "type": "address" 402 }, 403 { 404 "internalType": "bytes", 405 "name": "extraArgs", 406 "type": "bytes" 407 } 408 ], 409 "internalType": "struct Client.EVM2AnyMessage", 410 "name": "message", 411 "type": "tuple" 412 } 413 ], 414 "name": "getFee", 415 "outputs": [ 416 { 417 "internalType": "uint256", 418 "name": "fee", 419 "type": "uint256" 420 } 421 ], 422 "stateMutability": "view", 423 "type": "function" 424 }, 425 { 426 "inputs": [], 427 "name": "getOffRamps", 428 "outputs": [ 429 { 430 "components": [ 431 { 432 "internalType": "uint64", 433 "name": "sourceChainSelector", 434 "type": "uint64" 435 }, 436 { 437 "internalType": "address", 438 "name": "offRamp", 439 "type": "address" 440 } 441 ], 442 "internalType": "struct Router.OffRamp[]", 443 "name": "", 444 "type": "tuple[]" 445 } 446 ], 447 "stateMutability": "view", 448 "type": "function" 449 }, 450 { 451 "inputs": [ 452 { 453 "internalType": "uint64", 454 "name": "destChainSelector", 455 "type": "uint64" 456 } 457 ], 458 "name": "getOnRamp", 459 "outputs": [ 460 { 461 "internalType": "address", 462 "name": "", 463 "type": "address" 464 } 465 ], 466 "stateMutability": "view", 467 "type": "function" 468 }, 469 { 470 "inputs": [ 471 { 472 "internalType": "uint64", 473 "name": "chainSelector", 474 "type": "uint64" 475 } 476 ], 477 "name": "getSupportedTokens", 478 "outputs": [ 479 { 480 "internalType": "address[]", 481 "name": "", 482 "type": "address[]" 483 } 484 ], 485 "stateMutability": "view", 486 "type": "function" 487 }, 488 { 489 "inputs": [], 490 "name": "getWrappedNative", 491 "outputs": [ 492 { 493 "internalType": "address", 494 "name": "", 495 "type": "address" 496 } 497 ], 498 "stateMutability": "view", 499 "type": "function" 500 }, 501 { 502 "inputs": [ 503 { 504 "internalType": "uint64", 505 "name": "chainSelector", 506 "type": "uint64" 507 } 508 ], 509 "name": "isChainSupported", 510 "outputs": [ 511 { 512 "internalType": "bool", 513 "name": "", 514 "type": "bool" 515 } 516 ], 517 "stateMutability": "view", 518 "type": "function" 519 }, 520 { 521 "inputs": [ 522 { 523 "internalType": "uint64", 524 "name": "sourceChainSelector", 525 "type": "uint64" 526 }, 527 { 528 "internalType": "address", 529 "name": "offRamp", 530 "type": "address" 531 } 532 ], 533 "name": "isOffRamp", 534 "outputs": [ 535 { 536 "internalType": "bool", 537 "name": "", 538 "type": "bool" 539 } 540 ], 541 "stateMutability": "view", 542 "type": "function" 543 }, 544 { 545 "inputs": [], 546 "name": "owner", 547 "outputs": [ 548 { 549 "internalType": "address", 550 "name": "", 551 "type": "address" 552 } 553 ], 554 "stateMutability": "view", 555 "type": "function" 556 }, 557 { 558 "inputs": [ 559 { 560 "internalType": "address", 561 "name": "tokenAddress", 562 "type": "address" 563 }, 564 { 565 "internalType": "address", 566 "name": "to", 567 "type": "address" 568 }, 569 { 570 "internalType": "uint256", 571 "name": "amount", 572 "type": "uint256" 573 } 574 ], 575 "name": "recoverTokens", 576 "outputs": [], 577 "stateMutability": "nonpayable", 578 "type": "function" 579 }, 580 { 581 "inputs": [ 582 { 583 "components": [ 584 { 585 "internalType": "bytes32", 586 "name": "messageId", 587 "type": "bytes32" 588 }, 589 { 590 "internalType": "uint64", 591 "name": "sourceChainSelector", 592 "type": "uint64" 593 }, 594 { 595 "internalType": "bytes", 596 "name": "sender", 597 "type": "bytes" 598 }, 599 { 600 "internalType": "bytes", 601 "name": "data", 602 "type": "bytes" 603 }, 604 { 605 "components": [ 606 { 607 "internalType": "address", 608 "name": "token", 609 "type": "address" 610 }, 611 { 612 "internalType": "uint256", 613 "name": "amount", 614 "type": "uint256" 615 } 616 ], 617 "internalType": "struct Client.EVMTokenAmount[]", 618 "name": "destTokenAmounts", 619 "type": "tuple[]" 620 } 621 ], 622 "internalType": "struct Client.Any2EVMMessage", 623 "name": "message", 624 "type": "tuple" 625 }, 626 { 627 "internalType": "uint16", 628 "name": "gasForCallExactCheck", 629 "type": "uint16" 630 }, 631 { 632 "internalType": "uint256", 633 "name": "gasLimit", 634 "type": "uint256" 635 }, 636 { 637 "internalType": "address", 638 "name": "receiver", 639 "type": "address" 640 } 641 ], 642 "name": "routeMessage", 643 "outputs": [ 644 { 645 "internalType": "bool", 646 "name": "success", 647 "type": "bool" 648 }, 649 { 650 "internalType": "bytes", 651 "name": "retData", 652 "type": "bytes" 653 }, 654 { 655 "internalType": "uint256", 656 "name": "gasUsed", 657 "type": "uint256" 658 } 659 ], 660 "stateMutability": "nonpayable", 661 "type": "function" 662 }, 663 { 664 "inputs": [ 665 { 666 "internalType": "address", 667 "name": "wrappedNative", 668 "type": "address" 669 } 670 ], 671 "name": "setWrappedNative", 672 "outputs": [], 673 "stateMutability": "nonpayable", 674 "type": "function" 675 }, 676 { 677 "inputs": [ 678 { 679 "internalType": "address", 680 "name": "to", 681 "type": "address" 682 } 683 ], 684 "name": "transferOwnership", 685 "outputs": [], 686 "stateMutability": "nonpayable", 687 "type": "function" 688 }, 689 { 690 "inputs": [], 691 "name": "typeAndVersion", 692 "outputs": [ 693 { 694 "internalType": "string", 695 "name": "", 696 "type": "string" 697 } 698 ], 699 "stateMutability": "view", 700 "type": "function" 701 } 702 ]