2022-07-05 08:37:49 -07:00
{
"abi" : [
{
2022-12-18 22:27:59 -08:00
"inputs" : [
{
"internalType" : "address" ,
"name" : "_core_bridge_address" ,
"type" : "address"
}
] ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "nonpayable" ,
"type" : "constructor"
} ,
{
"inputs" : [ ] ,
"name" : "getCurrentMsg" ,
"outputs" : [
{
"internalType" : "string" ,
"name" : "" ,
"type" : "string"
}
] ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"inputs" : [
{
"internalType" : "bytes" ,
"name" : "encodedMsg" ,
"type" : "bytes"
}
] ,
"name" : "receiveEncodedMsg" ,
"outputs" : [ ] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"inputs" : [
{
"internalType" : "uint16" ,
"name" : "chainId" ,
"type" : "uint16"
} ,
{
"internalType" : "bytes32" ,
"name" : "applicationAddr" ,
"type" : "bytes32"
}
] ,
"name" : "registerApplicationContracts" ,
"outputs" : [ ] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"inputs" : [
{
"internalType" : "bytes" ,
"name" : "str" ,
"type" : "bytes"
}
] ,
"name" : "sendMsg" ,
"outputs" : [
{
"internalType" : "uint64" ,
"name" : "sequence" ,
"type" : "uint64"
}
] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
}
] ,
"bytecode" : {
2022-12-18 22:27:59 -08:00
"object" : " 0 x 60806040526001805463 f f f f f f f f 60 a 0 1 b 1916905534801561002057600080 f d 5 b 50604051610 b 44380380610 b 4483398101604081905261003 f 91610072565 b 60038054336001600160 a 0 1 b 0 31991821617909155600180549091166001600160 a 0 1 b 0 3929092169190911790556100 a 2565 b 60006020828403121561008457600080 f d 5 b 81516001600160 a 0 1 b 0 38116811461009 b 57600080 f d 5 b 9392505050565 b 610 a 93806100 b 16000396000 f 3 f e 608060405234801561001057600080 f d 5 b 506004361061004 c 5760003560e01 c 8063496 d 76 f f 146100515780635 f 327e1 c 14610066578063737 a 3 c a 414610079578063 f f 206 c f 8146100 a a 575 b 600080 f d 5 b 61006461005 f 3660046105 a 2565 b 6100 b f 565 b 0 0 5 b 610064610074366004610635565 b 610276565 b 61008 c 6100873660046105 a 2565 b 6102 f 3565 b 60405167 f f f f f f f f f f f f f f f f 90911681526020015 b 60405180910390 f 35 b 6100 b 26103 b b 565 b 6040516100 a 191906106 b d 565 b 60015460405163607 e c 5 e f 60e11 b 8152600091829182916001600160 a 0 1 b 0 3169063 c 0 f d 8 b d e 906100 f 49087906004016106 b d 565 b 600060405180830381865 a f a 158015610111573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 6000823e601 f 3 d 908101601 f 191682016040526101399190810190610847565 b 9250925092508181906101685760405162461 b c d 60e51 b 815260040161015 f 91906106 b d 565 b 60405180910390 f d 5 b 506080830151606084015161 f f f f 16600090815260026020526040902054146101 d 35760405162461 b c d 60e51 b 815260206004820152601860248201527 f 496e76616 c 696420456 d 69747465722041646472657373210000000000000000604482015260640161015 f 565 b 61014083015160009081526004602052604090205460 f f 16156102385760405162461 b c d 60e51 b 815260206004820152601960248201527 f 4 d 65737361676520616 c 72656164792070726 f 63657373656400000000000000604482015260640161015 f 565 b 61014083015160009081526004602090815260408220805460 f f 1916600117905560e0850151805161026 f 9392919091019061044 d 565 b 5050505050565 b 6003546001600160 a 0 1 b 0 31633146102 d c 5760405162461 b c d 60e51 b 815260206004820152602360248201527 f 4 f 6e6 c 79206 f 776e65722063616 e 207265676973746572206e657720636861696044820152626 e 732160e81 b 606482015260840161015 f 565 b 61 f f f f 909116600090815260026020526040902055565 b 600180546040516358 c d 21 b f 60e11 b 81526000926001600160 a 0 1 b 0 383169263 b 19 a 437e9261033592600160 a 0 1 b 90920463 f f f f f f f f 1691879160040161099 f 565 b 6020604051808303816000875 a f 1158015610354573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 601 f 19601 f 8201168201806040525081019061037891906109 d 1565 b 6001805491925061039691600160 a 0 1 b 900463 f f f f f f f f 16906109 e c 565 b 600160146101000 a 81548163 f f f f f f f f 0 21916908363 f f f f f f f f 160217905550919050565 b 6060600080546103 c a 90610 a 22565 b 80601 f 0 1602080910402602001604051908101604052809291908181526020018280546103 f 690610 a 22565 b 80156104435780601 f 1061041857610100808354040283529160200191610443565 b 820191906000526020600020905 b 81548152906001019060200180831161042657829003601 f 168201915 b 5050505050905090565 b 82805461045990610 a 22565 b 90600052602060002090601 f 0 1602090048101928261047 b 57600085556104 c 1565 b 82601 f 1061049457805160 f f 19168380011785556104 c 1565 b 828001600101855582156104 c 1579182015 b 828111156104 c 15782518255916020019190600101906104 a 6565 b 506104 c d 9291506104 d 1565 b 5090565 b 5 b 808211156104 c d 57600081556001016104 d 2565 b 634e487 b 7160e01 b 600052604160045260246000 f d 5 b 6040516080810167 f f f f f f f f f f f f f f f f 8111828210171561051 f 5761051 f 6104e6565 b 60405290565 b 604051610160810167 f f f f f f f f f f f f f f f f 8111828210171561051 f 5761051 f 6104e6565 b 604051601 f 8201601 f 1916810167 f f f f f f f f f f f f f f f f 81118282101715610572576105726104e6565 b 604052919050565 b 600067 f f f f f f f f f f f f f f f f 821115610594576105946104e6565 b 50601 f 0 1601 f 191660200190565 b 6000602082840312156105 b 457600080 f d 5 b 813567 f f f f f f f f f f f f f f f f 8111156105 c b 57600080 f d 5 b 8201601 f 810184136105 d c 57600080 f d 5 b 80356105 e f 6105 e a 8261057 a 565 b 610549565 b 81815285602083850101111561060457600080 f d 5 b 81602084016020830137600091810160200191909152949350505050565 b 61 f f f f 8116811461063257600080 f d 5 b 50565 b 6000806040838503121561064857600080 f d 5 b 823561065381610622565 b 946020939093013593505050565 b 60005 b 8381101561067 c 578181015183820152602001610664565 b 8381111561068 b 576000848401525 b 50505050565 b 600081518084526106 a 9816020860160208601610661565 b 601 f 0 1601 f 19169290920160200192915050565 b 6020815260006106 d 0 6020830184610691565 b 9392505050565 b 805160 f f 811681146106e857600080 f d 5 b 919050565 b 805163 f f f f f f f f 811681146106e857600080 f d 5 b 80516106e881610622565 b 805167 f f f f f f f f f f f f f f f f 811681146106e857600080 f d 5 b 600082601 f 83011261073557600080 f d 5 b 81516107436105 e a 8261057 a 565 b 8181
"sourceMap" : "98:1823:0:-:0;;;182:16;;;-1:-1:-1;;;;182:16:0;;;327:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:5;:18;;386:10;-1:-1:-1;;;;;;378:18:0;;;;;;;-1:-1:-1;406:45:0;;;;;-1:-1:-1;;;;;406:45:0;;;;;;;;;;98:1823;;14:290:3;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:3;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:3:o;:::-;98:1823:0;;;;;;" ,
2022-07-05 08:37:49 -07:00
"linkReferences" : { }
} ,
"deployedBytecode" : {
2022-12-18 22:27:59 -08:00
"object" : " 0 x 608060405234801561001057600080 f d 5 b 506004361061004 c 5760003560e01 c 8063496 d 76 f f 146100515780635 f 327e1 c 14610066578063737 a 3 c a 414610079578063 f f 206 c f 8146100 a a 575 b 600080 f d 5 b 61006461005 f 3660046105 a 2565 b 6100 b f 565 b 0 0 5 b 610064610074366004610635565 b 610276565 b 61008 c 6100873660046105 a 2565 b 6102 f 3565 b 60405167 f f f f f f f f f f f f f f f f 90911681526020015 b 60405180910390 f 35 b 6100 b 26103 b b 565 b 6040516100 a 191906106 b d 565 b 60015460405163607 e c 5 e f 60e11 b 8152600091829182916001600160 a 0 1 b 0 3169063 c 0 f d 8 b d e 906100 f 49087906004016106 b d 565 b 600060405180830381865 a f a 158015610111573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 6000823e601 f 3 d 908101601 f 191682016040526101399190810190610847565 b 9250925092508181906101685760405162461 b c d 60e51 b 815260040161015 f 91906106 b d 565 b 60405180910390 f d 5 b 506080830151606084015161 f f f f 16600090815260026020526040902054146101 d 35760405162461 b c d 60e51 b 815260206004820152601860248201527 f 496e76616 c 696420456 d 69747465722041646472657373210000000000000000604482015260640161015 f 565 b 61014083015160009081526004602052604090205460 f f 16156102385760405162461 b c d 60e51 b 815260206004820152601960248201527 f 4 d 65737361676520616 c 72656164792070726 f 63657373656400000000000000604482015260640161015 f 565 b 61014083015160009081526004602090815260408220805460 f f 1916600117905560e0850151805161026 f 9392919091019061044 d 565 b 5050505050565 b 6003546001600160 a 0 1 b 0 31633146102 d c 5760405162461 b c d 60e51 b 815260206004820152602360248201527 f 4 f 6e6 c 79206 f 776e65722063616 e 207265676973746572206e657720636861696044820152626 e 732160e81 b 606482015260840161015 f 565 b 61 f f f f 909116600090815260026020526040902055565 b 600180546040516358 c d 21 b f 60e11 b 81526000926001600160 a 0 1 b 0 383169263 b 19 a 437e9261033592600160 a 0 1 b 90920463 f f f f f f f f 1691879160040161099 f 565 b 6020604051808303816000875 a f 1158015610354573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 601 f 19601 f 8201168201806040525081019061037891906109 d 1565 b 6001805491925061039691600160 a 0 1 b 900463 f f f f f f f f 16906109 e c 565 b 600160146101000 a 81548163 f f f f f f f f 0 21916908363 f f f f f f f f 160217905550919050565 b 6060600080546103 c a 90610 a 22565 b 80601 f 0 1602080910402602001604051908101604052809291908181526020018280546103 f 690610 a 22565 b 80156104435780601 f 1061041857610100808354040283529160200191610443565 b 820191906000526020600020905 b 81548152906001019060200180831161042657829003601 f 168201915 b 5050505050905090565 b 82805461045990610 a 22565 b 90600052602060002090601 f 0 1602090048101928261047 b 57600085556104 c 1565 b 82601 f 1061049457805160 f f 19168380011785556104 c 1565 b 828001600101855582156104 c 1579182015 b 828111156104 c 15782518255916020019190600101906104 a 6565 b 506104 c d 9291506104 d 1565 b 5090565 b 5 b 808211156104 c d 57600081556001016104 d 2565 b 634e487 b 7160e01 b 600052604160045260246000 f d 5 b 6040516080810167 f f f f f f f f f f f f f f f f 8111828210171561051 f 5761051 f 6104e6565 b 60405290565 b 604051610160810167 f f f f f f f f f f f f f f f f 8111828210171561051 f 5761051 f 6104e6565 b 604051601 f 8201601 f 1916810167 f f f f f f f f f f f f f f f f 81118282101715610572576105726104e6565 b 604052919050565 b 600067 f f f f f f f f f f f f f f f f 821115610594576105946104e6565 b 50601 f 0 1601 f 191660200190565 b 6000602082840312156105 b 457600080 f d 5 b 813567 f f f f f f f f f f f f f f f f 8111156105 c b 57600080 f d 5 b 8201601 f 810184136105 d c 57600080 f d 5 b 80356105 e f 6105 e a 8261057 a 565 b 610549565 b 81815285602083850101111561060457600080 f d 5 b 81602084016020830137600091810160200191909152949350505050565 b 61 f f f f 8116811461063257600080 f d 5 b 50565 b 6000806040838503121561064857600080 f d 5 b 823561065381610622565 b 946020939093013593505050565 b 60005 b 8381101561067 c 578181015183820152602001610664565 b 8381111561068 b 576000848401525 b 50505050565 b 600081518084526106 a 9816020860160208601610661565 b 601 f 0 1601 f 19169290920160200192915050565 b 6020815260006106 d 0 6020830184610691565 b 9392505050565 b 805160 f f 811681146106e857600080 f d 5 b 919050565 b 805163 f f f f f f f f 811681146106e857600080 f d 5 b 80516106e881610622565 b 805167 f f f f f f f f f f f f f f f f 811681146106e857600080 f d 5 b 600082601 f 83011261073557600080 f d 5 b 81516107436105 e a 8261057 a 565 b 81815284602083860101111561075857600080 f d 5 b 610769826020830160208701610661565 b 949350505050565 b 600082601 f 83011261078257600080 f d 5 b 8151602067 f f f f f f f f f f f f f f f f 82111561079e5761079 e 6104e6565 b 6107 a c 818360051 b 0 1610549565 b 82815260079290921 b 840181019181810190868411156107 c b 57600080 f d 5 b 8286015 b 8481101561082 c 57608081890312156107e85760008081 f d 5 b 6107 f 0 6104 f c 565 b 815181528482
"sourceMap" : " 98 : 1823 : 0 : - : 0 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 633 : 822 ; ; ; ; ; ; : : : i ; : : : - ; ; : : : i ; : : : - ; ; 1691 : 228 ; ; ; ; ; ; : : : i ; : : : - ; ; : : : i ; 465 : 162 : : - ; ; ; ; ; ; : : : i ; : : : - ; ; : : : i ; : : : - ; ; ; 2425 : 18 : 3 ; 2413 : 31 ; ; ; 2395 : 50 ; ; 2383 : 2 ; 2368 : 18 ; 465 : 162 : 0 ; ; ; ; ; ; ; ; 1461 : 95 ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; : : : i ; 633 : 822 : : - ; 763 : 11 ; ; : 40 ; ; -1 : -1 : -1 ; ; ; 763 : 40 : 0 ; ; 703 : 22 ; ; ; ; ; ; -1 : -1 : -1 ; ; ; ; ; 763 : 11 : 0 ; ; : 28 ; ; : 40 ; ; 792 : 10 ; ; 763 : 40 ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; -1 : -1 : -1 ; ; 763 : 40 : 0 ; ; ; ; ; ; ; ; ; ; ; ; : : : i ; : : : - ; 702 : 101 ; ; ; ; ; ; 1005 : 5 ; 1012 : 6 ; 997 : 22 ; ; ; ; ; -1 : -1 : -1 ; ; ; 997 : 22 : 0 ; ; ; ; ; ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; ; ; -1 : -1 : -1 ; 1145 : 17 : 0 ; ; ; ; 1123 ; ; ; ; 1101 : 40 ; ; ; ; ; ; : 21 ; : 40 ; ; ; ; ; ; : 61 ; 1093 : 98 ; ; ; ; -1 : -1 : -1 ; ; ; 1093 : 98 : 0 ; ; 7862 : 2 : 3 ; 1093 : 98 : 0 ; ; ; 7844 : 21 : 3 ; 7901 : 2 ; 7881 : 18 ; ; ; 7874 : 30 ; 7940 : 26 ; 7920 : 18 ; ; ; 7913 : 54 ; 7984 : 18 ; ; 1093 : 98 : 0 ; 7660 : 348 : 3 ; 1093 : 98 : 0 ; 1300 : 7 ; ; ; ; 1281 : 27 ; ; ; ; : 18 ; : 27 ; ; ; ; ; ; ; ; 1280 : 28 ; 1272 : 66 ; ; ; ; -1 : -1 : -1 ; ; ; 1272 : 66 : 0 ; ; 8215 : 2 : 3 ; 1272 : 66 : 0 ; ; ; 8197 : 21 : 3 ; 8254 : 2 ; 8234 : 18 ; ; ; 8227 : 30 ; 8293 : 27 ; 8273 : 18 ; ; ; 8266 : 55 ; 8338 : 18 ; ; 1272 : 66 : 0 ; 8013 : 349 : 3 ; 1272 : 66 : 0 ; 1367 : 7 ; ; ; ; 1348 : 27 ; ; ; ; : 18 ; : 27 ; ; ; ; ; ; ; : 34 ; ; -1 : -1 : -1 ; ; 1348 : 34 : 0 ; 1378 : 4 ; 1348 : 34 ; ; ; 1437 : 10 ; ; ; ; 1416 : 32 ; ; ; ; 1348 : 27 ; 1416 : 32 ; ; ; ; ; ; : : : i ; : : : - ; ; 692 : 763 ; ; ; 633 : 822 ; : : : o ; 1691 : 228 : : - ; 1809 : 5 ; ; -1 : -1 : -1 ; ; ; ; ; 1809 : 5 : 0 ; 1795 : 10 ; : 19 ; 1787 : 67 ; ; ; ; -1 : -1 : -1 ; ; ; 1787 : 67 : 0 ; ; 8569 : 2 : 3 ; 1787 : 67 : 0 ; ; ; 8551 : 21 : 3 ; 8608 : 2 ; 8588 : 18 ; ; ; 8581 : 30 ; 8647 : 34 ; 8627 : 18 ; ; ; 8620 : 62 ; -1 : -1 : -1 ; ; ; 8698 : 18 : 3 ; ; ; 8691 : 33 ; 8741 : 19 ; ; 1787 : 67 : 0 ; 8367 : 399 : 3 ; 1787 : 67 : 0 ; 1864 : 30 ; ; ; ; ; ; ; ; : 21 ; : 30 ; ; ; ; ; : 48 ; 1691 : 228 : : o ; 465 : 162 : : - ; 554 : 11 ; ; ; : 41 ; ; -1 : -1 : -1 ; ; ; 554 : 41 : 0 ; ; 516 : 15 ; ; -1 : -1 : -1 ; ; ; ; ; 554 : 11 : 0 ; ; ; : 26 ; ; : 41 ; ; -1 : -1 : -1 ; ; ; 581 : 5 : 0 ; ; ; ; ; ; 588 : 3 ; ; 554 : 41 ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : i ; : : : - ; 613 : 5 ; ; ; 543 : 52 ; ; -1 : -1 : -1 ; 613 : 7 : 0 ; ; -1 : -1 : -1 ; ; ; 613 : 5 : 0 ; ; ; ; ; : 7 ; : : : i ; : : : - ; 605 : 5 ; ; : 15 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 465 : 162 ; ; ; : : : o ; 1461 : 95 : : - ; 1507 : 13 ; 1538 : 11 ; 1531 : 18 ; ; ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1461 : 95 ; : : : o ; -1 : -1 : -1 : - ; ; ; ; ; ; ; : : : i ; : : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : i ; : : : - ; ; ; : : : o ; : : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 14 : 127 : 3 ; 75 : 10 ; 70 : 3 ; 66 : 20 ; 63 : 1 ; 56 : 31 ; 106 : 4 ; 103 : 1 ; 96 : 15 ; 130 : 4 ; 127 : 1 ; 120 : 15 ; 146 : 253 ; 218 : 2 ; 212 : 9 ; 260 : 4 ; 248 : 17 ; ; 295 : 18 ; 280 : 34 ; ; 316 : 22 ; ; ; 277 : 62 ; 274 : 88 ; ; ; 342 : 18 ; ; : : : i ; : : : - ; 378 : 2 ; 371 : 22 ; 146 : 253 ; : : : o ; 404 : 255 : : - ; 476 : 2 ; 470 : 9 ; 518 : 6 ; 506 : 19 ; ; 555 : 18 ; 540 : 34 ; ; 576 : 22 ; ; ; 537 : 62 ; 534 : 88 ; ; ; 602 : 18 ; ; : : : i ; 664 : 275 : : - ; 735 : 2 ; 729 : 9 ; 800 : 2 ; 781 : 13 ; ; -1 : -1 : -1 ; ; 777 : 27 : 3 ; 765 : 40 ; ; 835 : 18 ; 820 : 34 ; ; 856 : 22 ; ; ; 817 : 62 ; 814 : 88 ; ; ; 882 : 18 ; ; : : : i ; : : : - ; 918 : 2 ; 911 : 22 ; 664 : 275 ; ; -1 : -1 : -1 ; 664 : 275 : 3 : o ; 944 : 186 : : - ; 992 : 4 ; 1025 : 18 ; 1017 : 6 ; 1014 : 30 ; 1011 : 56 ; ; ; 1047 : 18 ; ; : : : i ; : : : - ; -1 : -1 : -1 ; 1113 : 2 : 3 ; 1092 : 15 ; -1 : -1 : -1 ; ; 1088 : 29 : 3 ; 1119 : 4 ; 1084 : 40 ; ; 944 : 186 : : o ; 1135 : 671 : : - ; 1203 : 6 ; 1256 : 2 ; 1244 : 9 ; 1235 : 7 ; 1231 : 23 ; 1227 : 32 ; 1224 : 52 ; ; ; 1272 : 1 ; 1269 ; 1262 : 12 ; 1224 : 52 ; 1312 : 9 ; 1299 : 23 ; 1345 : 18 ; 1337 : 6 ; 1334 : 30 ; 1331 : 50 ; ; ; 1377 : 1 ; 1374 ; 1367 : 12 ; 1331 : 50 ; 1400 : 22 ; ; 1453 : 4 ; 1445 : 13 ; ; 1441 : 27 ; -1 : -1 : -1 ; 1431 : 55 : 3 ; ; 1482 : 1 ; 1479 ; 1472 : 12 ; 1431 : 55 ; 1518 : 2 ; 1505 : 16 ; 1543 : 48 ; 1559 : 31 ; 1587 : 2 ; 1559 : 31 ; : : : i ; : : : - ; 1543 : 48 ; : : : i ; : : : - ; 1614 : 2 ; 1607 : 5 ; 1600 : 17 ; 1654 : 7 ; 1649 : 2 ; 1644 ; 1640 ; 1636 : 11 ; 1632 : 20 ; 1629 : 33 ; 1626 : 53 ; ; ; 1675 : 1 ; 1672 ; 1665 : 12 ; 1626 : 53 ; 1730 : 2 ; 1725 ; 1721 ; 1717 : 11 ; 1712 : 2 ; 1705 : 5 ; 1701 : 14 ; 1688 : 45 ; 1774 : 1 ; 1753 : 14 ; ; ; 1769 : 2 ; 1749 : 23 ; 1742 : 34 ; ; ; ; 1757 : 5 ; 1135 : 671 ; -1 : -1 : -1 ; ; ; ; 1135 : 671 : 3 : o ; 1811 : 117 : : - ; 1896 : 6 ; 1889 : 5 ; 1885 : 18 ; 1878 : 5 ; 1875 : 29 ; 1865 : 57 ; ; 1918 : 1 ; 1915 ; 1908 : 12 ; 1865 : 57 ; 1811 : 117 ; : : : o ; 1933 : 313 : : - ; 2000 : 6 ; 2008 ; 2061 : 2 ; 2049 : 9 ; 2040 : 7 ; 2036 : 23 ; 2032 : 32 ; 2029 : 52 ; ; ; 2077 : 1 ; 2074 ; 2067 : 12 ; 2029 : 52 ; 2116 : 9 ; 2103 : 23 ; 2135 : 30 ; 2159 : 5 ; 2135 : 30 ; : : : i ; : : : - ; 2184 : 5 ; 2236 : 2 ; 2221 : 18 ; ; ; ; 2208 : 32 ; ; -1 : -1 : -1 ; ; ; 1933 : 313 : 3 : o ; 2456 : 258 : : - ; 2528 : 1 ; 2538 : 113 ; 2552 : 6 ; 2549 : 1 ; 2546 : 13 ; 2538 : 113 ; ; ; 2628 : 11 ; ; ; 2622 : 18 ; 2609 : 11 ; ; ; 2602 : 39 ; 2574 : 2 ; 2567 : 10 ; 2538 : 113 ; ; ; 2669 : 6 ; 2666 : 1 ; 2663 : 13 ; 2660 : 48 ; ; ; 2704 : 1 ; 2695 : 6 ; 2690 : 3 ; 2686 : 16 ; 2679 : 27 ; 2660 : 48 ; ; 2456 : 258 ; ; ; : : : o ; 2719 : : : - ; 2761 : 3 ; 2799 : 5 ; 2793 : 12 ; 2826 : 6 ; 2821 : 3 ; 2814 : 19 ; 2842 : 63 ; 2898 : 6 ; 2891 : 4 ; 2886 : 3 ; 2882 : 14 ; 2875 : 4 ; 2868 : 5 ; 2864 : 16 ; 2842 : 63 ; : : : i ; : : : - ; 2959 : 2 ; 2938 : 15 ; -1 : -1 : -1 ; ; 2934 : 29 : 3 ; 2925 : 39 ; ; ; ; 2966 : 4 ; 2921 : 50 ; ; 2719 : 258 ; -1 : -1 : -1 ; ; 2719 : 258 : 3 : o ; 2982 : 220 : : - ; 3131 : 2 ; 3120 : 9 ; 3113 : 21 ; 3094 : 4 ; 3151 : 45 ; 3192 : 2 ; 3181 : 9 ; 3177 : 18 ; 3169 : 6 ; 3151 : 45 ; : : : i ; : : : - ; 3143 : 53 ; 2982 : 220 ; -1 : -1 : -1 ; ; ; 2982 : 220 : 3 : o ; 3430 : 160 : : - ; 3507 : 13 ;
2022-07-05 08:37:49 -07:00
"linkReferences" : { }
} ,
"methodIdentifiers" : {
"getCurrentMsg()" : "ff206cf8" ,
"receiveEncodedMsg(bytes)" : "496d76ff" ,
"registerApplicationContracts(uint16,bytes32)" : "5f327e1c" ,
"sendMsg(bytes)" : "737a3ca4"
} ,
2022-12-18 22:27:59 -08:00
"rawMetadata" : "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_core_bridge_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurrentMsg\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"encodedMsg\",\"type\":\"bytes\"}],\"name\":\"receiveEncodedMsg\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"chainId\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"applicationAddr\",\"type\":\"bytes32\"}],\"name\":\"registerApplicationContracts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"str\",\"type\":\"bytes\"}],\"name\":\"sendMsg\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"registerApplicationContracts(uint16,bytes32)\":{\"notice\":\"Registers it's sibling applications on other chains as the only ones that can send this instance messages\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Messenger.sol\":\"Messenger\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"src/Messenger.sol\":{\"keccak256\":\"0xc1612910472d31c40c466dd0607e3252d9d3ed8fc61cc21cd691d0777f0ea603\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://6aa09e11177d17a247c62d1edfbfdd9a39ecd6adf1916de6699e1a4b8db161a9\",\"dweb:/ipfs/QmeJKe52xxRgTPYAzYGfWxd6etp4FMQf64DDFEjN1kJuaB\"]},\"src/Wormhole/IWormhole.sol\":{\"keccak256\":\"0xa83711083ba6529aeedafc74593865aecece3904dc0ca18b624a3212e038c8f5\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://88e7ef004e8802e44517ddb91ab00669a79ab6814b8bbcb3dc4bbb3d13b3ebd6\",\"dweb:/ipfs/QmXcGqQpUPV9so9RzdYhD2konP679fLCiXEZr44bgGVVJe\"]},\"src/Wormhole/Structs.sol\":{\"keccak256\":\"0xf6067f3a7ac8ccd239a50aa2ef5620ffe31bc86a3757571e13e57a3a0f476b37\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://813db91e92feacdf21da3986e1a59d38befc34103cd09e61d30471c228e3a6f2\",\"dweb:/ipfs/QmWeRrqvbite8YCHu97Lsta1Y3TR9WzQ9k2spaF6S3VQZZ\"]}},\"version\":1}" ,
"metadata" : {
"compiler" : {
"version" : "0.8.10+commit.fc410830"
} ,
"language" : "Solidity" ,
"output" : {
"abi" : [
{
"inputs" : [
{
"internalType" : "address" ,
"name" : "_core_bridge_address" ,
"type" : "address"
}
] ,
"stateMutability" : "nonpayable" ,
"type" : "constructor"
} ,
{
"inputs" : [ ] ,
"stateMutability" : "view" ,
"type" : "function" ,
"name" : "getCurrentMsg" ,
"outputs" : [
{
"internalType" : "string" ,
"name" : "" ,
"type" : "string"
}
]
} ,
{
"inputs" : [
{
"internalType" : "bytes" ,
"name" : "encodedMsg" ,
"type" : "bytes"
}
] ,
"stateMutability" : "nonpayable" ,
"type" : "function" ,
"name" : "receiveEncodedMsg"
} ,
{
"inputs" : [
{
"internalType" : "uint16" ,
"name" : "chainId" ,
"type" : "uint16"
} ,
{
"internalType" : "bytes32" ,
"name" : "applicationAddr" ,
"type" : "bytes32"
}
] ,
"stateMutability" : "nonpayable" ,
"type" : "function" ,
"name" : "registerApplicationContracts"
} ,
{
"inputs" : [
{
"internalType" : "bytes" ,
"name" : "str" ,
"type" : "bytes"
}
] ,
"stateMutability" : "nonpayable" ,
"type" : "function" ,
"name" : "sendMsg" ,
"outputs" : [
{
"internalType" : "uint64" ,
"name" : "sequence" ,
"type" : "uint64"
}
]
}
] ,
"devdoc" : {
"kind" : "dev" ,
"methods" : { } ,
"version" : 1
} ,
"userdoc" : {
"kind" : "user" ,
"methods" : {
"registerApplicationContracts(uint16,bytes32)" : {
"notice" : "Registers it's sibling applications on other chains as the only ones that can send this instance messages"
}
} ,
"version" : 1
}
} ,
"settings" : {
"remappings" : [ ] ,
"optimizer" : {
"enabled" : true ,
"runs" : 200
} ,
"metadata" : {
"bytecodeHash" : "ipfs"
} ,
"compilationTarget" : {
"src/Messenger.sol" : "Messenger"
} ,
"libraries" : { }
} ,
"sources" : {
"src/Messenger.sol" : {
"keccak256" : "0xc1612910472d31c40c466dd0607e3252d9d3ed8fc61cc21cd691d0777f0ea603" ,
"urls" : [
"bzz-raw://6aa09e11177d17a247c62d1edfbfdd9a39ecd6adf1916de6699e1a4b8db161a9" ,
"dweb:/ipfs/QmeJKe52xxRgTPYAzYGfWxd6etp4FMQf64DDFEjN1kJuaB"
] ,
"license" : "Unlicense"
} ,
"src/Wormhole/IWormhole.sol" : {
"keccak256" : "0xa83711083ba6529aeedafc74593865aecece3904dc0ca18b624a3212e038c8f5" ,
"urls" : [
"bzz-raw://88e7ef004e8802e44517ddb91ab00669a79ab6814b8bbcb3dc4bbb3d13b3ebd6" ,
"dweb:/ipfs/QmXcGqQpUPV9so9RzdYhD2konP679fLCiXEZr44bgGVVJe"
] ,
"license" : "Apache 2"
} ,
"src/Wormhole/Structs.sol" : {
"keccak256" : "0xf6067f3a7ac8ccd239a50aa2ef5620ffe31bc86a3757571e13e57a3a0f476b37" ,
"urls" : [
"bzz-raw://813db91e92feacdf21da3986e1a59d38befc34103cd09e61d30471c228e3a6f2" ,
"dweb:/ipfs/QmWeRrqvbite8YCHu97Lsta1Y3TR9WzQ9k2spaF6S3VQZZ"
] ,
"license" : "Apache 2"
}
} ,
"version" : 1
} ,
2022-07-05 08:37:49 -07:00
"ast" : {
"absolutePath" : "src/Messenger.sol" ,
2022-12-18 22:27:59 -08:00
"id" : 153 ,
2022-07-05 08:37:49 -07:00
"exportedSymbols" : {
"IWormhole" : [
2022-12-18 22:27:59 -08:00
279
2022-07-05 08:37:49 -07:00
] ,
"Messenger" : [
2022-12-18 22:27:59 -08:00
152
2022-07-05 08:37:49 -07:00
] ,
"Structs" : [
2022-12-18 22:27:59 -08:00
329
2022-07-05 08:37:49 -07:00
]
} ,
"nodeType" : "SourceUnit" ,
2022-12-18 22:27:59 -08:00
"src" : "37:1885:0" ,
2022-07-05 08:37:49 -07:00
"nodes" : [
{
"id" : 1 ,
"nodeType" : "PragmaDirective" ,
"src" : "37:23:0" ,
"literals" : [
"solidity" ,
"^" ,
"0.8" ,
".0"
]
} ,
{
"id" : 2 ,
"nodeType" : "ImportDirective" ,
"src" : "62:34:0" ,
"absolutePath" : "src/Wormhole/IWormhole.sol" ,
"file" : "./Wormhole/IWormhole.sol" ,
"nameLocation" : "-1:-1:-1" ,
2022-12-18 22:27:59 -08:00
"scope" : 153 ,
"sourceUnit" : 280 ,
2022-07-05 08:37:49 -07:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 152 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ContractDefinition" ,
2022-12-18 22:27:59 -08:00
"src" : "98:1823:0" ,
2022-07-05 08:37:49 -07:00
"nodes" : [
{
"id" : 4 ,
"nodeType" : "VariableDeclaration" ,
"src" : "123:26:0" ,
"constant" : false ,
"mutability" : "mutable" ,
"name" : "current_msg" ,
"nameLocation" : "138:11:0" ,
2022-12-18 22:27:59 -08:00
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 3 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "123:6:0" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"visibility" : "private"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 7 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"src" : "155:21:0" ,
2022-07-05 08:37:49 -07:00
"constant" : false ,
"mutability" : "mutable" ,
"name" : "core_bridge" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "165:11:0" ,
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
2022-07-05 08:37:49 -07:00
"typeString" : "contract IWormhole"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 6 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "UserDefinedTypeName" ,
"pathNode" : {
2022-12-18 22:27:59 -08:00
"id" : 5 ,
2022-07-05 08:37:49 -07:00
"name" : "IWormhole" ,
"nodeType" : "IdentifierPath" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 279 ,
"src" : "155:9:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 279 ,
"src" : "155:9:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
2022-07-05 08:37:49 -07:00
"typeString" : "contract IWormhole"
}
} ,
"visibility" : "internal"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 10 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"src" : "182:16:0" ,
2022-07-05 08:37:49 -07:00
"constant" : false ,
"mutability" : "mutable" ,
"name" : "nonce" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "189:5:0" ,
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 8 ,
2022-07-05 08:37:49 -07:00
"name" : "uint32" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "182:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
}
} ,
"value" : {
"hexValue" : "30" ,
2022-12-18 22:27:59 -08:00
"id" : 9 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "197:1:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"visibility" : "internal"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 14 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"src" : "204:48:0" ,
2022-07-05 08:37:49 -07:00
"constant" : false ,
"mutability" : "mutable" ,
"name" : "_applicationContracts" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "231:21:0" ,
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_uint16_$_t_bytes32_$" ,
"typeString" : "mapping(uint16 => bytes32)"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 13 ,
2022-07-05 08:37:49 -07:00
"keyType" : {
2022-12-18 22:27:59 -08:00
"id" : 11 ,
2022-07-05 08:37:49 -07:00
"name" : "uint16" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "212:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint16" ,
"typeString" : "uint16"
}
} ,
"nodeType" : "Mapping" ,
2022-12-18 22:27:59 -08:00
"src" : "204:26:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_uint16_$_t_bytes32_$" ,
"typeString" : "mapping(uint16 => bytes32)"
} ,
"valueType" : {
2022-12-18 22:27:59 -08:00
"id" : 12 ,
2022-07-05 08:37:49 -07:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "222:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
}
} ,
"visibility" : "internal"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 16 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"src" : "258:13:0" ,
2022-07-05 08:37:49 -07:00
"constant" : false ,
"mutability" : "mutable" ,
"name" : "owner" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "266:5:0" ,
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 15 ,
2022-07-05 08:37:49 -07:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "258:7:0" ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "internal"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 20 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"src" : "277:43:0" ,
2022-07-05 08:37:49 -07:00
"constant" : false ,
"mutability" : "mutable" ,
"name" : "_completedMessages" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "302:18:0" ,
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 19 ,
2022-07-05 08:37:49 -07:00
"keyType" : {
2022-12-18 22:27:59 -08:00
"id" : 17 ,
2022-07-05 08:37:49 -07:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "285:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
2022-12-18 22:27:59 -08:00
"src" : "277:24:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
2022-12-18 22:27:59 -08:00
"id" : 18 ,
2022-07-05 08:37:49 -07:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "296:4:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"visibility" : "internal"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 37 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "FunctionDefinition" ,
2022-12-18 22:27:59 -08:00
"src" : "327:131:0" ,
2022-07-05 08:37:49 -07:00
"body" : {
2022-12-18 22:27:59 -08:00
"id" : 36 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "Block" ,
2022-12-18 22:27:59 -08:00
"src" : "368:90:0" ,
2022-07-05 08:37:49 -07:00
"statements" : [
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 28 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
2022-12-18 22:27:59 -08:00
"id" : 25 ,
2022-07-05 08:37:49 -07:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 16 ,
"src" : "378:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 26 ,
2022-07-05 08:37:49 -07:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : -15 ,
2022-12-18 22:27:59 -08:00
"src" : "386:3:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 27 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"src" : "386:10:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "378:18:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 29 ,
"nodeType" : "ExpressionStatement" ,
"src" : "378:18:0"
} ,
{
"expression" : {
"id" : 34 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"id" : 30 ,
"name" : "core_bridge" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 7 ,
"src" : "406:11:0" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
"typeString" : "contract IWormhole"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"arguments" : [
{
"id" : 32 ,
"name" : "_core_bridge_address" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 22 ,
"src" : "430:20:0" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 31 ,
"name" : "IWormhole" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 279 ,
"src" : "420:9:0" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_IWormhole_$279_$" ,
"typeString" : "type(contract IWormhole)"
}
} ,
"id" : 33 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "420:31:0" ,
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
"typeString" : "contract IWormhole"
}
} ,
"src" : "406:45:0" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
"typeString" : "contract IWormhole"
}
} ,
"id" : 35 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "406:45:0"
2022-07-05 08:37:49 -07:00
}
]
} ,
"implemented" : true ,
"kind" : "constructor" ,
"modifiers" : [ ] ,
"name" : "" ,
"nameLocation" : "-1:-1:-1" ,
"parameters" : {
2022-12-18 22:27:59 -08:00
"id" : 23 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
2022-12-18 22:27:59 -08:00
"parameters" : [
{
"constant" : false ,
"id" : 22 ,
"mutability" : "mutable" ,
"name" : "_core_bridge_address" ,
"nameLocation" : "347:20:0" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 37 ,
"src" : "339:28:0" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 21 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "339:7:0" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "internal"
}
] ,
"src" : "338:30:0"
2022-07-05 08:37:49 -07:00
} ,
"returnParameters" : {
2022-12-18 22:27:59 -08:00
"id" : 24 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2022-12-18 22:27:59 -08:00
"src" : "368:0:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "nonpayable" ,
"virtual" : false ,
"visibility" : "public"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 60 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "FunctionDefinition" ,
2022-12-18 22:27:59 -08:00
"src" : "465:162:0" ,
2022-07-05 08:37:49 -07:00
"body" : {
2022-12-18 22:27:59 -08:00
"id" : 59 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "Block" ,
2022-12-18 22:27:59 -08:00
"src" : "533:94:0" ,
2022-07-05 08:37:49 -07:00
"statements" : [
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 51 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
2022-12-18 22:27:59 -08:00
"id" : 44 ,
2022-07-05 08:37:49 -07:00
"name" : "sequence" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 42 ,
"src" : "543:8:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint64" ,
"typeString" : "uint64"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"arguments" : [
{
2022-12-18 22:27:59 -08:00
"id" : 47 ,
2022-07-05 08:37:49 -07:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 10 ,
"src" : "581:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
}
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 48 ,
2022-07-05 08:37:49 -07:00
"name" : "str" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 39 ,
"src" : "588:3:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"hexValue" : "31" ,
2022-12-18 22:27:59 -08:00
"id" : 49 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "593:1:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
}
] ,
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 45 ,
2022-07-05 08:37:49 -07:00
"name" : "core_bridge" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 7 ,
"src" : "554:11:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
2022-07-05 08:37:49 -07:00
"typeString" : "contract IWormhole"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 46 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "publishMessage" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 180 ,
"src" : "554:26:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_payable$_t_uint32_$_t_bytes_memory_ptr_$_t_uint8_$returns$_t_uint64_$" ,
"typeString" : "function (uint32,bytes memory,uint8) payable external returns (uint64)"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 50 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "554:41:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint64" ,
"typeString" : "uint64"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "543:52:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint64" ,
"typeString" : "uint64"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 52 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "543:52:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 57 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
2022-12-18 22:27:59 -08:00
"id" : 53 ,
2022-07-05 08:37:49 -07:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 10 ,
"src" : "605:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"commonType" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
} ,
2022-12-18 22:27:59 -08:00
"id" : 56 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 54 ,
2022-07-05 08:37:49 -07:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 10 ,
"src" : "613:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"hexValue" : "31" ,
2022-12-18 22:27:59 -08:00
"id" : 55 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "619:1:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2022-12-18 22:27:59 -08:00
"src" : "613:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "605:15:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint32" ,
"typeString" : "uint32"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 58 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "605:15:0"
2022-07-05 08:37:49 -07:00
}
]
} ,
"functionSelector" : "737a3ca4" ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "sendMsg" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "474:7:0" ,
2022-07-05 08:37:49 -07:00
"parameters" : {
2022-12-18 22:27:59 -08:00
"id" : 40 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 39 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "str" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "495:3:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 60 ,
"src" : "482:16:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 38 ,
2022-07-05 08:37:49 -07:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "482:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"visibility" : "internal"
}
] ,
2022-12-18 22:27:59 -08:00
"src" : "481:18:0"
2022-07-05 08:37:49 -07:00
} ,
"returnParameters" : {
2022-12-18 22:27:59 -08:00
"id" : 43 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 42 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "sequence" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "523:8:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 60 ,
"src" : "516:15:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint64" ,
"typeString" : "uint64"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 41 ,
2022-07-05 08:37:49 -07:00
"name" : "uint64" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "516:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint64" ,
"typeString" : "uint64"
}
} ,
"visibility" : "internal"
}
] ,
2022-12-18 22:27:59 -08:00
"src" : "515:17:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "nonpayable" ,
"virtual" : false ,
"visibility" : "public"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 120 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "FunctionDefinition" ,
2022-12-18 22:27:59 -08:00
"src" : "633:822:0" ,
2022-07-05 08:37:49 -07:00
"body" : {
2022-12-18 22:27:59 -08:00
"id" : 119 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "Block" ,
2022-12-18 22:27:59 -08:00
"src" : "692:763:0" ,
2022-07-05 08:37:49 -07:00
"statements" : [
{
"assignments" : [
2022-12-18 22:27:59 -08:00
69 ,
71 ,
73
2022-07-05 08:37:49 -07:00
] ,
"declarations" : [
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 69 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "vm" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "723:2:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 119 ,
"src" : "703:22:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_memory_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 68 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "UserDefinedTypeName" ,
"pathNode" : {
2022-12-18 22:27:59 -08:00
"id" : 67 ,
2022-07-05 08:37:49 -07:00
"name" : "IWormhole.VM" ,
"nodeType" : "IdentifierPath" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 328 ,
"src" : "703:12:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 328 ,
"src" : "703:12:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_storage_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM"
}
} ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 71 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "valid" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "732:5:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 119 ,
"src" : "727:10:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 70 ,
2022-07-05 08:37:49 -07:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "727:4:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 73 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "reason" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "753:6:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 119 ,
"src" : "739:20:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory_ptr" ,
"typeString" : "string"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 72 ,
2022-07-05 08:37:49 -07:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "739:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"visibility" : "internal"
}
] ,
2022-12-18 22:27:59 -08:00
"id" : 78 ,
2022-07-05 08:37:49 -07:00
"initialValue" : {
"arguments" : [
{
2022-12-18 22:27:59 -08:00
"id" : 76 ,
2022-07-05 08:37:49 -07:00
"name" : "encodedMsg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 62 ,
"src" : "792:10:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 74 ,
2022-07-05 08:37:49 -07:00
"name" : "core_bridge" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 7 ,
"src" : "763:11:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_contract$_IWormhole_$279" ,
2022-07-05 08:37:49 -07:00
"typeString" : "contract IWormhole"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 75 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "parseAndVerifyVM" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 192 ,
"src" : "763:28:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_function_external_view$_t_bytes_memory_ptr_$returns$_t_struct$_VM_$328_memory_ptr_$_t_bool_$_t_string_memory_ptr_$" ,
2022-07-05 08:37:49 -07:00
"typeString" : "function (bytes memory) view external returns (struct Structs.VM memory,bool,string memory)"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 77 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "763:40:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_tuple$_t_struct$_VM_$328_memory_ptr_$_t_bool_$_t_string_memory_ptr_$" ,
2022-07-05 08:37:49 -07:00
"typeString" : "tuple(struct Structs.VM memory,bool,string memory)"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "702:101:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
"arguments" : [
{
2022-12-18 22:27:59 -08:00
"id" : 80 ,
2022-07-05 08:37:49 -07:00
"name" : "valid" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 71 ,
"src" : "1005:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 81 ,
2022-07-05 08:37:49 -07:00
"name" : "reason" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 73 ,
"src" : "1012:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory_ptr" ,
"typeString" : "string memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_string_memory_ptr" ,
"typeString" : "string memory"
}
] ,
2022-12-18 22:27:59 -08:00
"id" : 79 ,
2022-07-05 08:37:49 -07:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
-18 ,
-18
] ,
"referencedDeclaration" : -18 ,
2022-12-18 22:27:59 -08:00
"src" : "997:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 82 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "997:22:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 83 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "997:22:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
"arguments" : [
{
"commonType" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
2022-12-18 22:27:59 -08:00
"id" : 91 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"baseExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 85 ,
2022-07-05 08:37:49 -07:00
"name" : "_applicationContracts" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 14 ,
"src" : "1101:21:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_uint16_$_t_bytes32_$" ,
"typeString" : "mapping(uint16 => bytes32)"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 88 ,
2022-07-05 08:37:49 -07:00
"indexExpression" : {
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 86 ,
2022-07-05 08:37:49 -07:00
"name" : "vm" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 69 ,
"src" : "1123:2:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_memory_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM memory"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 87 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "emitterChainId" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 311 ,
"src" : "1123:17:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint16" ,
"typeString" : "uint16"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2022-12-18 22:27:59 -08:00
"src" : "1101:40:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 89 ,
2022-07-05 08:37:49 -07:00
"name" : "vm" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 69 ,
"src" : "1145:2:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_memory_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM memory"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 90 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "emitterAddress" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 313 ,
"src" : "1145:17:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "1101:61:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"hexValue" : "496e76616c696420456d6974746572204164647265737321" ,
2022-12-18 22:27:59 -08:00
"id" : 92 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "1164:26:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_f496f877e2734cc33859d6eebf6eb783eb0c07a93151b05d0dc70cb8571cfab1" ,
"typeString" : "literal_string \"Invalid Emitter Address!\""
} ,
"value" : "Invalid Emitter Address!"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_f496f877e2734cc33859d6eebf6eb783eb0c07a93151b05d0dc70cb8571cfab1" ,
"typeString" : "literal_string \"Invalid Emitter Address!\""
}
] ,
2022-12-18 22:27:59 -08:00
"id" : 84 ,
2022-07-05 08:37:49 -07:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
-18 ,
-18
] ,
"referencedDeclaration" : -18 ,
2022-12-18 22:27:59 -08:00
"src" : "1093:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 93 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "1093:98:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 94 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "1093:98:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
"arguments" : [
{
2022-12-18 22:27:59 -08:00
"id" : 100 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
2022-12-18 22:27:59 -08:00
"src" : "1280:28:0" ,
2022-07-05 08:37:49 -07:00
"subExpression" : {
"baseExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 96 ,
2022-07-05 08:37:49 -07:00
"name" : "_completedMessages" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 20 ,
"src" : "1281:18:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 99 ,
2022-07-05 08:37:49 -07:00
"indexExpression" : {
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 97 ,
2022-07-05 08:37:49 -07:00
"name" : "vm" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 69 ,
"src" : "1300:2:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_memory_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM memory"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 98 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "hash" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 327 ,
"src" : "1300:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2022-12-18 22:27:59 -08:00
"src" : "1281:27:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"hexValue" : "4d65737361676520616c72656164792070726f636573736564" ,
2022-12-18 22:27:59 -08:00
"id" : 101 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "1310:27:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ce52e83d839057c6eded6c3ade48bb15cfa535fddf47c137ba979ab4aea203cc" ,
"typeString" : "literal_string \"Message already processed\""
} ,
"value" : "Message already processed"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_ce52e83d839057c6eded6c3ade48bb15cfa535fddf47c137ba979ab4aea203cc" ,
"typeString" : "literal_string \"Message already processed\""
}
] ,
2022-12-18 22:27:59 -08:00
"id" : 95 ,
2022-07-05 08:37:49 -07:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
-18 ,
-18
] ,
"referencedDeclaration" : -18 ,
2022-12-18 22:27:59 -08:00
"src" : "1272:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 102 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "1272:66:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 103 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "1272:66:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 109 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"baseExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 104 ,
2022-07-05 08:37:49 -07:00
"name" : "_completedMessages" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 20 ,
"src" : "1348:18:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 107 ,
2022-07-05 08:37:49 -07:00
"indexExpression" : {
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 105 ,
2022-07-05 08:37:49 -07:00
"name" : "vm" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 69 ,
"src" : "1367:2:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_memory_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM memory"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 106 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "hash" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 327 ,
"src" : "1367:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2022-12-18 22:27:59 -08:00
"src" : "1348:27:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"hexValue" : "74727565" ,
2022-12-18 22:27:59 -08:00
"id" : 108 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "1378:4:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
2022-12-18 22:27:59 -08:00
"src" : "1348:34:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 110 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "1348:34:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 117 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
2022-12-18 22:27:59 -08:00
"id" : 111 ,
2022-07-05 08:37:49 -07:00
"name" : "current_msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 4 ,
2022-12-18 22:27:59 -08:00
"src" : "1416:11:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage" ,
"typeString" : "string storage ref"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"arguments" : [
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 114 ,
2022-07-05 08:37:49 -07:00
"name" : "vm" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 69 ,
"src" : "1437:2:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
2022-12-18 22:27:59 -08:00
"typeIdentifier" : "t_struct$_VM_$328_memory_ptr" ,
2022-07-05 08:37:49 -07:00
"typeString" : "struct Structs.VM memory"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 115 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "payload" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 319 ,
"src" : "1437:10:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2022-12-18 22:27:59 -08:00
"id" : 113 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2022-12-18 22:27:59 -08:00
"src" : "1430:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_string_storage_ptr_$" ,
"typeString" : "type(string storage pointer)"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 112 ,
2022-07-05 08:37:49 -07:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "1430:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : { }
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 116 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "1430:18:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory_ptr" ,
"typeString" : "string memory"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "1416:32:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage" ,
"typeString" : "string storage ref"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 118 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "1416:32:0"
2022-07-05 08:37:49 -07:00
}
]
} ,
"functionSelector" : "496d76ff" ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "receiveEncodedMsg" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "642:17:0" ,
2022-07-05 08:37:49 -07:00
"parameters" : {
2022-12-18 22:27:59 -08:00
"id" : 63 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 62 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "encodedMsg" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "673:10:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 120 ,
"src" : "660:23:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 61 ,
2022-07-05 08:37:49 -07:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "660:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"visibility" : "internal"
}
] ,
2022-12-18 22:27:59 -08:00
"src" : "659:25:0"
2022-07-05 08:37:49 -07:00
} ,
"returnParameters" : {
2022-12-18 22:27:59 -08:00
"id" : 64 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2022-12-18 22:27:59 -08:00
"src" : "692:0:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "nonpayable" ,
"virtual" : false ,
"visibility" : "public"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 128 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "FunctionDefinition" ,
2022-12-18 22:27:59 -08:00
"src" : "1461:95:0" ,
2022-07-05 08:37:49 -07:00
"body" : {
2022-12-18 22:27:59 -08:00
"id" : 127 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "Block" ,
2022-12-18 22:27:59 -08:00
"src" : "1521:35:0" ,
2022-07-05 08:37:49 -07:00
"statements" : [
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 125 ,
2022-07-05 08:37:49 -07:00
"name" : "current_msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 4 ,
2022-12-18 22:27:59 -08:00
"src" : "1538:11:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage" ,
"typeString" : "string storage ref"
}
} ,
2022-12-18 22:27:59 -08:00
"functionReturnParameters" : 124 ,
"id" : 126 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "Return" ,
2022-12-18 22:27:59 -08:00
"src" : "1531:18:0"
2022-07-05 08:37:49 -07:00
}
]
} ,
"functionSelector" : "ff206cf8" ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "getCurrentMsg" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "1470:13:0" ,
2022-07-05 08:37:49 -07:00
"parameters" : {
2022-12-18 22:27:59 -08:00
"id" : 121 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2022-12-18 22:27:59 -08:00
"src" : "1483:2:0"
2022-07-05 08:37:49 -07:00
} ,
"returnParameters" : {
2022-12-18 22:27:59 -08:00
"id" : 124 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 123 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "" ,
"nameLocation" : "-1:-1:-1" ,
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 128 ,
"src" : "1507:13:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory_ptr" ,
"typeString" : "string"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 122 ,
2022-07-05 08:37:49 -07:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "1507:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"visibility" : "internal"
}
] ,
2022-12-18 22:27:59 -08:00
"src" : "1506:15:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "view" ,
"virtual" : false ,
"visibility" : "public"
} ,
{
2022-12-18 22:27:59 -08:00
"id" : 151 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "FunctionDefinition" ,
2022-12-18 22:27:59 -08:00
"src" : "1691:228:0" ,
2022-07-05 08:37:49 -07:00
"body" : {
2022-12-18 22:27:59 -08:00
"id" : 150 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "Block" ,
2022-12-18 22:27:59 -08:00
"src" : "1777:142:0" ,
2022-07-05 08:37:49 -07:00
"statements" : [
{
"expression" : {
"arguments" : [
{
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2022-12-18 22:27:59 -08:00
"id" : 140 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 137 ,
2022-07-05 08:37:49 -07:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : -15 ,
2022-12-18 22:27:59 -08:00
"src" : "1795:3:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 138 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
2022-12-18 22:27:59 -08:00
"src" : "1795:10:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 139 ,
2022-07-05 08:37:49 -07:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 16 ,
"src" : "1809:5:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "1795:19:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"hexValue" : "4f6e6c79206f776e65722063616e207265676973746572206e657720636861696e7321" ,
2022-12-18 22:27:59 -08:00
"id" : 141 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2022-12-18 22:27:59 -08:00
"src" : "1816:37:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_698f093739048e0d0d04d257a772e914828254033190db3d927fdda8176c85a9" ,
"typeString" : "literal_string \"Only owner can register new chains!\""
} ,
"value" : "Only owner can register new chains!"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_698f093739048e0d0d04d257a772e914828254033190db3d927fdda8176c85a9" ,
"typeString" : "literal_string \"Only owner can register new chains!\""
}
] ,
2022-12-18 22:27:59 -08:00
"id" : 136 ,
2022-07-05 08:37:49 -07:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
-18 ,
-18
] ,
"referencedDeclaration" : -18 ,
2022-12-18 22:27:59 -08:00
"src" : "1787:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 142 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2022-12-18 22:27:59 -08:00
"src" : "1787:67:0" ,
2022-07-05 08:37:49 -07:00
"tryCall" : false ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 143 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "1787:67:0"
2022-07-05 08:37:49 -07:00
} ,
{
"expression" : {
2022-12-18 22:27:59 -08:00
"id" : 148 ,
2022-07-05 08:37:49 -07:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"baseExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 144 ,
2022-07-05 08:37:49 -07:00
"name" : "_applicationContracts" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 14 ,
"src" : "1864:21:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_uint16_$_t_bytes32_$" ,
"typeString" : "mapping(uint16 => bytes32)"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 146 ,
2022-07-05 08:37:49 -07:00
"indexExpression" : {
2022-12-18 22:27:59 -08:00
"id" : 145 ,
2022-07-05 08:37:49 -07:00
"name" : "chainId" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 131 ,
"src" : "1886:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint16" ,
"typeString" : "uint16"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2022-12-18 22:27:59 -08:00
"src" : "1864:30:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
2022-12-18 22:27:59 -08:00
"id" : 147 ,
2022-07-05 08:37:49 -07:00
"name" : "applicationAddr" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2022-12-18 22:27:59 -08:00
"referencedDeclaration" : 133 ,
"src" : "1897:15:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
2022-12-18 22:27:59 -08:00
"src" : "1864:48:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
2022-12-18 22:27:59 -08:00
"id" : 149 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ExpressionStatement" ,
2022-12-18 22:27:59 -08:00
"src" : "1864:48:0"
2022-07-05 08:37:49 -07:00
}
]
} ,
"documentation" : {
2022-12-18 22:27:59 -08:00
"id" : 129 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "StructuredDocumentation" ,
2022-12-18 22:27:59 -08:00
"src" : "1561:125:0" ,
2022-07-05 08:37:49 -07:00
"text" : "Registers it's sibling applications on other chains as the only ones that can send this instance messages"
} ,
"functionSelector" : "5f327e1c" ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "registerApplicationContracts" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "1700:28:0" ,
2022-07-05 08:37:49 -07:00
"parameters" : {
2022-12-18 22:27:59 -08:00
"id" : 134 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 131 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "chainId" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "1736:7:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 151 ,
"src" : "1729:14:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint16" ,
"typeString" : "uint16"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 130 ,
2022-07-05 08:37:49 -07:00
"name" : "uint16" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "1729:6:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint16" ,
"typeString" : "uint16"
}
} ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2022-12-18 22:27:59 -08:00
"id" : 133 ,
2022-07-05 08:37:49 -07:00
"mutability" : "mutable" ,
"name" : "applicationAddr" ,
2022-12-18 22:27:59 -08:00
"nameLocation" : "1753:15:0" ,
2022-07-05 08:37:49 -07:00
"nodeType" : "VariableDeclaration" ,
2022-12-18 22:27:59 -08:00
"scope" : 151 ,
"src" : "1745:23:0" ,
2022-07-05 08:37:49 -07:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2022-12-18 22:27:59 -08:00
"id" : 132 ,
2022-07-05 08:37:49 -07:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2022-12-18 22:27:59 -08:00
"src" : "1745:7:0" ,
2022-07-05 08:37:49 -07:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"visibility" : "internal"
}
] ,
2022-12-18 22:27:59 -08:00
"src" : "1728:41:0"
2022-07-05 08:37:49 -07:00
} ,
"returnParameters" : {
2022-12-18 22:27:59 -08:00
"id" : 135 ,
2022-07-05 08:37:49 -07:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2022-12-18 22:27:59 -08:00
"src" : "1777:0:0"
2022-07-05 08:37:49 -07:00
} ,
2022-12-18 22:27:59 -08:00
"scope" : 152 ,
2022-07-05 08:37:49 -07:00
"stateMutability" : "nonpayable" ,
"virtual" : false ,
"visibility" : "public"
}
] ,
"abstract" : false ,
"baseContracts" : [ ] ,
"canonicalName" : "Messenger" ,
"contractDependencies" : [ ] ,
"contractKind" : "contract" ,
"fullyImplemented" : true ,
"linearizedBaseContracts" : [
2022-12-18 22:27:59 -08:00
152
2022-07-05 08:37:49 -07:00
] ,
"name" : "Messenger" ,
"nameLocation" : "107:9:0" ,
2022-12-18 22:27:59 -08:00
"scope" : 153 ,
2022-07-05 08:37:49 -07:00
"usedErrors" : [ ]
}
] ,
"license" : "Unlicense"
} ,
"id" : 0
}