wormhole/web/contracts/Wormhole.json

27665 lines
1.3 MiB
JSON
Raw Normal View History

2020-08-09 09:16:52 -07:00
{
"contractName": "Wormhole",
"abi": [
{
"inputs": [
{
"components": [
{
2020-08-21 03:45:24 -07:00
"internalType": "address[]",
"name": "keys",
"type": "address[]"
2020-08-09 09:16:52 -07:00
},
{
"internalType": "uint32",
"name": "expiration_time",
"type": "uint32"
}
],
"internalType": "struct Wormhole.GuardianSet",
"name": "initial_guardian_set",
"type": "tuple"
},
{
"internalType": "address",
"name": "wrapped_asset_master",
"type": "address"
2020-08-09 12:16:18 -07:00
},
{
"internalType": "uint32",
"name": "_guardian_set_expirity",
2020-08-09 12:16:18 -07:00
"type": "uint32"
2020-08-09 09:16:52 -07:00
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
2020-08-21 03:45:24 -07:00
"indexed": false,
"internalType": "uint32",
"name": "oldGuardianIndex",
"type": "uint32"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"indexed": false,
"internalType": "uint32",
"name": "newGuardianIndex",
"type": "uint32"
2020-08-09 09:16:52 -07:00
}
],
"name": "LogGuardianSetChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "target_chain",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint8",
"name": "token_chain",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint8",
"name": "token_decimals",
"type": "uint8"
},
2020-08-09 09:16:52 -07:00
{
"indexed": true,
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "sender",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
2020-08-21 03:45:24 -07:00
},
{
"indexed": false,
"internalType": "uint32",
"name": "nonce",
"type": "uint32"
2020-08-09 09:16:52 -07:00
}
],
"name": "LogTokensLocked",
"type": "event"
},
{
2020-08-09 12:16:18 -07:00
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "consumedVAAs",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "guardian_set_expirity",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
2020-08-09 12:16:18 -07:00
{
"inputs": [],
"name": "guardian_set_index",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
2020-08-09 09:16:52 -07:00
"inputs": [
{
2020-08-09 12:16:18 -07:00
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"name": "guardian_sets",
"outputs": [
2020-08-09 09:16:52 -07:00
{
2020-08-09 12:16:18 -07:00
"internalType": "uint32",
"name": "expiration_time",
"type": "uint32"
2020-08-09 09:16:52 -07:00
}
],
2020-08-09 12:16:18 -07:00
"stateMutability": "view",
"type": "function"
2020-08-09 09:16:52 -07:00
},
{
2020-08-09 12:16:18 -07:00
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "isWrappedAsset",
2020-08-09 09:16:52 -07:00
"outputs": [
{
2020-08-09 12:16:18 -07:00
"internalType": "bool",
2020-08-09 09:16:52 -07:00
"name": "",
2020-08-09 12:16:18 -07:00
"type": "bool"
2020-08-09 09:16:52 -07:00
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "wrappedAssetMaster",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
2020-08-09 12:16:18 -07:00
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "wrappedAssets",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
2020-08-09 09:16:52 -07:00
{
"stateMutability": "payable",
"type": "receive"
},
2020-08-21 03:45:24 -07:00
{
"inputs": [
{
"internalType": "uint32",
"name": "idx",
"type": "uint32"
}
],
"name": "getGuardianSet",
"outputs": [
{
"components": [
{
"internalType": "address[]",
"name": "keys",
"type": "address[]"
},
{
"internalType": "uint32",
"name": "expiration_time",
"type": "uint32"
}
],
"internalType": "struct Wormhole.GuardianSet",
"name": "gs",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
2020-08-09 09:16:52 -07:00
{
"inputs": [
{
"internalType": "bytes",
"name": "vaa",
"type": "bytes"
}
],
"name": "submitVAA",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "target_chain",
"type": "uint8"
2020-08-21 03:45:24 -07:00
},
{
"internalType": "uint32",
"name": "nonce",
"type": "uint32"
2020-08-30 02:25:02 -07:00
},
{
"internalType": "bool",
"name": "refund_dust",
"type": "bool"
2020-08-09 09:16:52 -07:00
}
],
"name": "lockAssets",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "target_chain",
"type": "uint8"
2020-08-21 03:45:24 -07:00
},
{
"internalType": "uint32",
"name": "nonce",
"type": "uint32"
2020-08-09 09:16:52 -07:00
}
],
"name": "lockETH",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
2020-08-30 02:25:02 -07:00
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address[]\",\"name\":\"keys\",\"type\":\"address[]\"},{\"internalType\":\"uint32\",\"name\":\"expiration_time\",\"type\":\"uint32\"}],\"internalType\":\"struct Wormhole.GuardianSet\",\"name\":\"initial_guardian_set\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"wrapped_asset_master\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_guardian_set_expirity\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"oldGuardianIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"newGuardianIndex\",\"type\":\"uint32\"}],\"name\":\"LogGuardianSetChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"target_chain\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"token_chain\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"token_decimals\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"token\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"recipient\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"name\":\"LogTokensLocked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"consumedVAAs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"idx\",\"type\":\"uint32\"}],\"name\":\"getGuardianSet\",\"outputs\":[{\"components\":[{\"internalType\":\"address[]\",\"name\":\"keys\",\"type\":\"address[]\"},{\"internalType\":\"uint32\",\"name\":\"expiration_time\",\"type\":\"uint32\"}],\"internalType\":\"struct Wormhole.GuardianSet\",\"name\":\"gs\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardian_set_expirity\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardian_set_index\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"guardian_sets\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"expiration_time\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isWrappedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"recipient\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"target_chain\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"refund_dust\",\"type\":\"bool\"}],\"name\":\"lockAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"recipient\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"target_chain\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"name\":\"lockETH\",\"outputs
"bytecode": "0x60806040526002600160146101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b5060405162003b6738038062003b6783398181016040528101906200005391906200033e565b600160008190555082600260008063ffffffff1681526020019081526020016000206000820151816000019080519060200190620000939291906200014b565b5060208201518160010160006101000a81548163ffffffff021916908363ffffffff1602179055509050506000600360006101000a81548163ffffffff021916908363ffffffff16021790555080600360046101000a81548163ffffffff021916908363ffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200047c565b828054828255906000526020600020908101928215620001c7579160200282015b82811115620001c65782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200016c565b5b509050620001d69190620001da565b5090565b5b808211156200021357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620001db565b5090565b600081519050620002288162000448565b92915050565b600082601f8301126200024057600080fd5b8151620002576200025182620003db565b620003ad565b915081818352602084019350602081019050838560208402820111156200027d57600080fd5b60005b83811015620002b1578162000296888262000217565b84526020840193506020830192505060018101905062000280565b5050505092915050565b600060408284031215620002ce57600080fd5b620002da6040620003ad565b9050600082015167ffffffffffffffff811115620002f757600080fd5b62000305848285016200022e565b60008301525060206200031b8482850162000327565b60208301525092915050565b600081519050620003388162000462565b92915050565b6000806000606084860312156200035457600080fd5b600084015167ffffffffffffffff8111156200036f57600080fd5b6200037d86828701620002bb565b9350506020620003908682870162000217565b9250506040620003a38682870162000327565b9150509250925092565b6000604051905081810181811067ffffffffffffffff82111715620003d157600080fd5b8060405250919050565b600067ffffffffffffffff821115620003f357600080fd5b602082029050602081019050919050565b6000620004118262000418565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600063ffffffff82169050919050565b620004538162000404565b81146200045f57600080fd5b50565b6200046d8162000438565b81146200047957600080fd5b50565b6136db806200048c6000396000f3fe6080604052600436106100a05760003560e01c806370713960116100645780637071396014610205578063822d82b31461022e57806399da1d3c14610259578063a31fe40914610284578063b6694c2a146102c1578063f951975a146102fe576100e0565b80631a2be4da1461011b5780633bc0aee61461015857806342b0aefa146101815780634db47840146101be57806358d62e46146101e9576100e0565b366100e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d79061318d565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101129061318d565b60405180910390fd5b34801561012757600080fd5b50610142600480360381019061013d91906126ce565b61033b565b60405161014f91906130ab565b60405180910390f35b34801561016457600080fd5b5061017f600480360381019061017a919061284a565b61035b565b005b34801561018d57600080fd5b506101a860048036038101906101a391906128b8565b610bcf565b6040516101b5919061334f565b60405180910390f35b3480156101ca57600080fd5b506101d3610bfd565b6040516101e0919061334f565b60405180910390f35b61020360048036038101906101fe91906127fb565b610c13565b005b34801561021157600080fd5b5061022c600480360381019061022791906126f7565b610dc0565b005b34801561023a57600080fd5b50610243611461565b604051610250919061334f565b60405180910390f35b34801561026557600080fd5b5061026e611477565b60405161027b9190612fec565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a691906127a9565b61149d565b6040516102b891906130ab565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e391906127a9565b6114bd565b6040516102f59190612fec565b60405180910390f35b34801561030a57600080fd5b50610325600480360381019061032091906128b8565b6114f0565b604051610332919061332d565b60405180910390f35b60066020528060005260406000206000915054906101000a900460ff1681565b600260005414156103a1576040517f
"deployedBytecode": "0x6080604052600436106100a05760003560e01c806370713960116100645780637071396014610205578063822d82b31461022e57806399da1d3c14610259578063a31fe40914610284578063b6694c2a146102c1578063f951975a146102fe576100e0565b80631a2be4da1461011b5780633bc0aee61461015857806342b0aefa146101815780634db47840146101be57806358d62e46146101e9576100e0565b366100e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d79061318d565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101129061318d565b60405180910390fd5b34801561012757600080fd5b50610142600480360381019061013d91906126ce565b61033b565b60405161014f91906130ab565b60405180910390f35b34801561016457600080fd5b5061017f600480360381019061017a919061284a565b61035b565b005b34801561018d57600080fd5b506101a860048036038101906101a391906128b8565b610bcf565b6040516101b5919061334f565b60405180910390f35b3480156101ca57600080fd5b506101d3610bfd565b6040516101e0919061334f565b60405180910390f35b61020360048036038101906101fe91906127fb565b610c13565b005b34801561021157600080fd5b5061022c600480360381019061022791906126f7565b610dc0565b005b34801561023a57600080fd5b50610243611461565b604051610250919061334f565b60405180910390f35b34801561026557600080fd5b5061026e611477565b60405161027b9190612fec565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a691906127a9565b61149d565b6040516102b891906130ab565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e391906127a9565b6114bd565b6040516102f59190612fec565b60405180910390f35b34801561030a57600080fd5b50610325600480360381019061032091906128b8565b6114f0565b604051610332919061332d565b60405180910390f35b60066020528060005260406000206000915054906101000a900460ff1681565b600260005414156103a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103989061330d565b60405180910390fd5b60026000819055506000610403600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506115dd90919063ffffffff16565b905060018160ff161461044b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610442906131ed565b60405180910390fd5b60006104a5600185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061163b90919063ffffffff16565b90506000610501600586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506115dd90919063ffffffff16565b60ff169050600081604202600601905060006105718283898990500389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506116999092919063ffffffff16565b8051906020012090506004600082815260200190815260200160002060009054906101000a900460ff16156105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d29061316d565b60405180910390fd5b6105e36124cd565b600260008663ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820180548060200260200160405190810160405280929190818152602001828054801561069257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610648575b505050505081526020016001820160009054906101000a900463ffffffff1663ffffffff1663ffffffff168152505090506000816020015163ffffffff1614806106e5575042816020015163ffffffff16115b610724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071b9061328d565b60405180910390fd5b836001600360048460000151518161073857fe5b040201111561077c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107739061322d565b60405180910390fd5b60005b848110156109f85760006107e6604283026006018b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506115dd90919063ffffffff16565b905060006108476042840260
2020-08-09 09:16:52 -07:00
"immutableReferences": {},
2020-08-30 02:25:02 -07:00
"sourceMap": "502:9541:1:-:0;;;832:1;815:18;;;;;;;;;;;;;;;;;;;;1964:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1628:1:9;1743:7;:22;;;;2114:20:1;2095:13;:16;2109:1;2095:16;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2208:1;2187:18;;:22;;;;;;;;;;;;;;;;;;2243;2219:21;;:46;;;;;;;;;;;;;;;;;;2297:20;2276:18;;:41;;;;;;;;;;;;;;;;;;1964:360;;;502:9541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134:-1:-;;89:6;83:13;74:22;;101:33;128:5;101:33;:::i;:::-;68:71;;;;:::o;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;763:3;756:61;840:4;835:3;831:14;824:21;;868:4;863:3;859:14;852:21;;720:160;710:1;707;703:9;698:14;;663:217;;;667:14;252:634;;;;;;;:::o;928:617::-;;1056:4;1044:9;1039:3;1035:19;1031:30;1028:2;;;1074:1;1071;1064:12;1028:2;1092:20;1107:4;1092:20;:::i;:::-;1083:29;;1183:1;1172:9;1168:17;1162:24;1206:18;1198:6;1195:30;1192:2;;;1238:1;1235;1228:12;1192:2;1273:85;1354:3;1345:6;1334:9;1330:22;1273:85;:::i;:::-;1266:4;1259:5;1255:16;1248:111;1122:248;1431:2;1464:59;1519:3;1510:6;1499:9;1495:22;1464:59;:::i;:::-;1457:4;1450:5;1446:16;1439:85;1380:155;1022:523;;;;:::o;1552:132::-;;1635:6;1629:13;1620:22;;1647:32;1673:5;1647:32;:::i;:::-;1614:70;;;;:::o;1691:668::-;;;;1867:2;1855:9;1846:7;1842:23;1838:32;1835:2;;;1883:1;1880;1873:12;1835:2;1939:1;1928:9;1924:17;1918:24;1962:18;1954:6;1951:30;1948:2;;;1994:1;1991;1984:12;1948:2;2014:92;2098:7;2089:6;2078:9;2074:22;2014:92;:::i;:::-;2004:102;;1897:215;2143:2;2161:64;2217:7;2208:6;2197:9;2193:22;2161:64;:::i;:::-;2151:74;;2122:109;2262:2;2280:63;2335:7;2326:6;2315:9;2311:22;2280:63;:::i;:::-;2270:73;;2241:108;1829:530;;;;;:::o;2366:256::-;;2428:2;2422:9;2412:19;;2466:4;2458:6;2454:17;2565:6;2553:10;2550:22;2529:18;2517:10;2514:34;2511:62;2508:2;;;2586:1;2583;2576:12;2508:2;2606:10;2602:2;2595:22;2406:216;;;;:::o;2629:304::-;;2788:18;2780:6;2777:30;2774:2;;;2820:1;2817;2810:12;2774:2;2855:4;2847:6;2843:17;2835:25;;2918:4;2912;2908:15;2900:23;;2711:222;;;:::o;2940:91::-;;3002:24;3020:5;3002:24;:::i;:::-;2991:35;;2985:46;;;:::o;3038:121::-;;3111:42;3104:5;3100:54;3089:65;;3083:76;;;:::o;3166:88::-;;3238:10;3231:5;3227:22;3216:33;;3210:44;;;:::o;3261:117::-;3330:24;3348:5;3330:24;:::i;:::-;3323:5;3320:35;3310:2;;3369:1;3366;3359:12;3310:2;3304:74;:::o;3385:115::-;3453:23;3470:5;3453:23;:::i;:::-;3446:5;3443:34;3433:2;;3491:1;3488;3481:12;3433:2;3427:73;:::o;502:9541:1:-;;;;;;;",
"deployedSourceMap": "502:9541:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9985:54;;;;;;;;;;:::i;:::-;;;;;;;;502:9541;9895:54;;;;;;;;;;:::i;:::-;;;;;;;;1911:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2458:1874;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1467:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1677:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9398:462;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7554:1838;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1559:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;747:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1758:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1857:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2330:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1911:46;;;;;;;;;;;;;;;;;;;;;;:::o;2458:1874::-;1671:1:9;2260:7;;:19;;2252:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1671:1;2390:7;:18;;;;2541:13:1::1;2557:14;2569:1;2557:3;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;;:::i;:::-;2541:30;;2600:1;2589:7;:12;;;2581:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2687:29;2719:15;2732:1;2719:3;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;;;;:::i;:::-;2687:47;;2745:19;2767:14;2779:1;2767:3;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;;:::i;:::-;2745:36;;;;2791:11;2814;2809:2;:16;2805:1;:20;2791:34;;2947:12;2972:38;2982:6;3003;2990:3;;:10;;:19;2972:3;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;:::i;:::-;2962:49;;;;;;2947:64;;3030:12;:18;3043:4;3030:18;;;;;;;;;;;;;;;;;;;;;3029:19;3021:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3088:31;;:::i;:::-;3122:13;:37;3136:22;3122:37;;;;;;;;;;;;;;;3088:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;3209:1;3177:12;:28;;;:33;;;:83;;;;3245:15;3214:12;:28;;;:46;;;3177:83;3169:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;3351:11;3346:1;3341;3336;3309:12;:17;;;:24;:28;;;;;;3308:34;3307:40;:55;;3299:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;3392:6;3387:373;3408:11;3404:1;:15;3387:373;;;3440:11;3454:23;3474:2;3470:1;:6;3466:1;:10;3454:3;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;3440:37;;3491:9;3503:25;3525:2;3521:1;:6;3517:1;:10;3503:3;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;3491:37;;3542:9;3554:26;3577:2;3573:1;:6;3568:2;:11;3554:3;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;3542:38;;3594:7;3604:24;3625:2;3621:1;:6;3616:2;:11;3604:3;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;3594:34;;3647:2;3642:7;;;;3699:12;:17;;;3717:5;3699:24;;;;;;;;;;;;;;;;3671:52;;:24;3681:4;3687:1;3690;3693;3671:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;:52;;;3663:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;3387:373;;;;3421:3;;;;;;;3387:373;;;;3770:12;3785:23;3806:1;3797:6;:10;3785:3;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;3770:38;;3818:20;3841:48;3860:1;3851:6;:10;3886:1;3877:6;:10;3863:3;;:10;;:25;3841:3;;:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;;:::i;:::-;3818:71;;3937:4;3927:6;:14;;;3923:332;;;3991:18;;;;;;;;;;;3965:44;;:22;:44;;;3957:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;4085:29;4106:7;4085:20;:29::i;:::-;3923:332;;;4145:4;4135:6;:14;;;4131:124;;;4165:20;4177:7;4165:11;:20::i;:::-;4131:124;;;4216:28;;;;;;;;;;:::i;:::-;;;;;;;;4131:124;3923:332;4321:4;4300:12;:18;4313:4;4300:18;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2419:1:9;;;;;;;;1628::::0;2563:7;:22;;;;2458:1874:1;;:::o;1467:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1677:35::-;;;;;;;;;;;;;:::o;9398:462::-;1671:1:9;2260:7;;:19;;2252:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1671:1;2390:7;:18;;;;9557:1:1::1;9544:9;:14;;9536:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;916:42;9627:25;;;9661:9;9627:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;9811:10;9803:19;;9795:28;;916:42;9772:20;;9764:29;;9720:133;9736:12;97
"source": "// contracts/Wormhole.sol\n// SPDX-License-Identifier: Apache 2\n\n// TODO(hendrik): switch-over feature\n\npragma solidity ^0.6.0;\npragma experimental ABIEncoderV2;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/SafeERC20.sol\";\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\nimport \"./BytesLib.sol\";\nimport \"./WrappedAsset.sol\";\n\ncontract Wormhole is ReentrancyGuard {\n using SafeERC20 for IERC20;\n using BytesLib for bytes;\n using SafeMath for uint256;\n\n uint64 constant MAX_UINT64 = 18_446_744_073_709_551_615;\n\n // Address of the Wrapped asset template\n address public wrappedAssetMaster;\n\n // Chain ID of Ethereum\n uint8 CHAIN_ID = 2;\n\n // Address of the official WETH contract\n address constant WETHAddress = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;\n\n struct GuardianSet {\n address[] keys;\n uint32 expiration_time;\n }\n\n event LogGuardianSetChanged(\n uint32 oldGuardianIndex,\n uint32 newGuardianIndex\n );\n\n event LogTokensLocked(\n uint8 target_chain,\n uint8 token_chain,\n uint8 token_decimals,\n bytes32 indexed token,\n bytes32 indexed sender,\n bytes32 recipient,\n uint256 amount,\n uint32 nonce\n );\n\n // Mapping of guardian_set_index => guardian set\n mapping(uint32 => GuardianSet) public guardian_sets;\n // Current active guardian set\n uint32 public guardian_set_index;\n\n // Period for which a guardian set stays active after it has been replaced\n uint32 public guardian_set_expirity;\n\n // Mapping of already consumedVAAs\n mapping(bytes32 => bool) public consumedVAAs;\n\n // Mapping of wrapped asset ERC20 contracts\n mapping(bytes32 => address) public wrappedAssets;\n mapping(address => bool) public isWrappedAsset;\n\n constructor(GuardianSet memory initial_guardian_set, address wrapped_asset_master, uint32 _guardian_set_expirity) public {\n guardian_sets[0] = initial_guardian_set;\n // Explicitly set for doc purposes\n guardian_set_index = 0;\n guardian_set_expirity = _guardian_set_expirity;\n\n wrappedAssetMaster = wrapped_asset_master;\n }\n\n function getGuardianSet(uint32 idx) view public returns (GuardianSet memory gs) {\n return guardian_sets[idx];\n }\n\n function submitVAA(\n bytes calldata vaa\n ) public nonReentrant {\n uint8 version = vaa.toUint8(0);\n require(version == 1, \"VAA version incompatible\");\n\n // Load 4 bytes starting from index 1\n uint32 vaa_guardian_set_index = vaa.toUint32(1);\n\n uint256 len_signers = vaa.toUint8(5);\n uint offset = 6 + 66 * len_signers;\n\n // Load 4 bytes timestamp\n //uint32 timestamp = vaa.toUint32(offset);\n\n // Hash the body\n bytes32 hash = keccak256(vaa.slice(offset, vaa.length - offset));\n require(!consumedVAAs[hash], \"VAA was already executed\");\n\n GuardianSet memory guardian_set = guardian_sets[vaa_guardian_set_index];\n require(guardian_set.expiration_time == 0 || guardian_set.expiration_time > block.timestamp, \"guardian set has expired\");\n require(((guardian_set.keys.length / 4) * 3) + 1 <= len_signers, \"no quorum\");\n\n for (uint i = 0; i < len_signers; i++) {\n uint8 index = vaa.toUint8(6 + i * 66);\n bytes32 r = vaa.toBytes32(7 + i * 66);\n bytes32 s = vaa.toBytes32(39 + i * 66);\n uint8 v = vaa.toUint8(71 + i * 66);\n v += 27;\n require(ecrecover(hash, v, r, s) == guardian_set.keys[index], \"VAA signature invalid\");\n }\n\n uint8 action = vaa.toUint8(offset + 4);\n bytes memory payload = vaa.slice(offset + 5, vaa.length - (offset + 5));\n\n // Process VAA\n if (action == 0x01
2020-08-09 09:16:52 -07:00
"sourcePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol",
"ast": {
"absolutePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol",
"exportedSymbols": {
"WETH": [
2020-08-30 02:25:02 -07:00
1265
2020-08-09 09:16:52 -07:00
],
"Wormhole": [
2020-08-30 02:25:02 -07:00
1254
2020-08-09 09:16:52 -07:00
]
},
2020-08-30 02:25:02 -07:00
"id": 1266,
2020-08-09 09:16:52 -07:00
"license": "Apache 2",
"nodeType": "SourceUnit",
"nodes": [
{
2020-08-21 03:45:24 -07:00
"id": 335,
2020-08-09 09:16:52 -07:00
"literals": [
"solidity",
"^",
"0.6",
".0"
],
"nodeType": "PragmaDirective",
2020-08-21 03:45:24 -07:00
"src": "103:23:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"id": 336,
2020-08-09 09:16:52 -07:00
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
2020-08-21 03:45:24 -07:00
"src": "127:33:1"
2020-08-09 09:16:52 -07:00
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"id": 337,
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2538,
"src": "162:55:1",
"symbolAliases": [],
"unitAlias": ""
},
2020-08-09 09:16:52 -07:00
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 338,
2020-08-09 09:16:52 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2616,
"src": "218:56:1",
2020-08-09 09:16:52 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/SafeERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/SafeERC20.sol",
"id": 339,
2020-08-09 09:16:52 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2829,
"src": "275:59:1",
2020-08-09 09:16:52 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/math/SafeMath.sol",
"file": "@openzeppelin/contracts/math/SafeMath.sol",
"id": 340,
2020-08-09 09:16:52 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2031,
"src": "335:51:1",
2020-08-09 09:16:52 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
2020-08-21 03:45:24 -07:00
"absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"id": 341,
2020-08-09 09:16:52 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 3073,
"src": "387:59:1",
2020-08-09 09:16:52 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
2020-08-21 03:45:24 -07:00
"absolutePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/BytesLib.sol",
"file": "./BytesLib.sol",
"id": 342,
2020-08-09 09:16:52 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
2020-08-21 03:45:24 -07:00
"sourceUnit": 334,
"src": "447:24:1",
2020-08-09 09:16:52 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/WrappedAsset.sol",
"file": "./WrappedAsset.sol",
"id": 343,
2020-08-09 09:16:52 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 1812,
"src": "472:28:1",
2020-08-09 09:16:52 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
2020-08-21 03:45:24 -07:00
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 344,
2020-08-21 03:45:24 -07:00
"name": "ReentrancyGuard",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3072,
"src": "523:15:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_ReentrancyGuard_$3072",
2020-08-21 03:45:24 -07:00
"typeString": "contract ReentrancyGuard"
}
},
"id": 345,
2020-08-21 03:45:24 -07:00
"nodeType": "InheritanceSpecifier",
"src": "523:15:1"
2020-08-21 03:45:24 -07:00
}
],
"contractDependencies": [
2020-08-30 02:25:02 -07:00
3072
2020-08-21 03:45:24 -07:00
],
2020-08-09 09:16:52 -07:00
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
2020-08-30 02:25:02 -07:00
"id": 1254,
2020-08-09 09:16:52 -07:00
"linearizedBaseContracts": [
2020-08-30 02:25:02 -07:00
1254,
3072
2020-08-09 09:16:52 -07:00
],
"name": "Wormhole",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 348,
2020-08-09 09:16:52 -07:00
"libraryName": {
"contractScope": null,
"id": 346,
2020-08-09 09:16:52 -07:00
"name": "SafeERC20",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2828,
"src": "551:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_SafeERC20_$2828",
2020-08-09 09:16:52 -07:00
"typeString": "library SafeERC20"
}
},
"nodeType": "UsingForDirective",
"src": "545:27:1",
2020-08-09 09:16:52 -07:00
"typeName": {
"contractScope": null,
"id": 347,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "565:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
}
},
{
"id": 351,
2020-08-09 09:16:52 -07:00
"libraryName": {
"contractScope": null,
"id": 349,
2020-08-09 09:16:52 -07:00
"name": "BytesLib",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 333,
"src": "583:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_contract$_BytesLib_$333",
"typeString": "library BytesLib"
}
},
"nodeType": "UsingForDirective",
"src": "577:25:1",
2020-08-09 09:16:52 -07:00
"typeName": {
"id": 350,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "596:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
}
},
{
"id": 354,
2020-08-09 09:16:52 -07:00
"libraryName": {
"contractScope": null,
"id": 352,
2020-08-09 09:16:52 -07:00
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2030,
"src": "613:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_SafeMath_$2030",
2020-08-09 09:16:52 -07:00
"typeString": "library SafeMath"
}
},
"nodeType": "UsingForDirective",
"src": "607:27:1",
2020-08-09 09:16:52 -07:00
"typeName": {
"id": 353,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "626:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
2020-08-30 02:25:02 -07:00
{
"constant": true,
"id": 357,
"mutability": "constant",
"name": "MAX_UINT64",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1254,
"src": "640:55:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint64",
"typeString": "uint64"
},
"typeName": {
"id": 355,
"name": "uint64",
"nodeType": "ElementaryTypeName",
"src": "640:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint64",
"typeString": "uint64"
}
},
"value": {
"argumentTypes": null,
"hexValue": "31385f3434365f3734345f3037335f3730395f3535315f363135",
"id": 356,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "669:26:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_18446744073709551615_by_1",
"typeString": "int_const 18446744073709551615"
},
"value": "18_446_744_073_709_551_615"
},
"visibility": "internal"
},
2020-08-09 09:16:52 -07:00
{
"constant": false,
"functionSelector": "99da1d3c",
2020-08-30 02:25:02 -07:00
"id": 359,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "wrappedAssetMaster",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "747:33:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 358,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "747:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 362,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "CHAIN_ID",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "815:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 360,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "815:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "32",
2020-08-30 02:25:02 -07:00
"id": 361,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "832:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "internal"
},
{
"constant": true,
2020-08-30 02:25:02 -07:00
"id": 365,
2020-08-09 09:16:52 -07:00
"mutability": "constant",
"name": "WETHAddress",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "885:73:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 363,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "885:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"argumentTypes": null,
"hexValue": "307843303261614133396232323346453844304130653543344632376541443930383343373536436332",
2020-08-30 02:25:02 -07:00
"id": 364,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "916:42:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
"value": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
},
"visibility": "internal"
},
{
"canonicalName": "Wormhole.GuardianSet",
2020-08-30 02:25:02 -07:00
"id": 371,
2020-08-09 09:16:52 -07:00
"members": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 368,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "keys",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 371,
"src": "994:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-21 03:45:24 -07:00
"baseType": {
2020-08-30 02:25:02 -07:00
"id": 366,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "994:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 367,
2020-08-21 03:45:24 -07:00
"length": null,
"nodeType": "ArrayTypeName",
2020-08-30 02:25:02 -07:00
"src": "994:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 370,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "expiration_time",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 371,
"src": "1018:22:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 369,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1018:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "GuardianSet",
"nodeType": "StructDefinition",
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "965:82:1",
2020-08-09 09:16:52 -07:00
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 377,
2020-08-09 09:16:52 -07:00
"name": "LogGuardianSetChanged",
"nodeType": "EventDefinition",
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 376,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 373,
2020-08-21 03:45:24 -07:00
"indexed": false,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "oldGuardianIndex",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 377,
"src": "1090:23:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 372,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1090:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 375,
2020-08-21 03:45:24 -07:00
"indexed": false,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "newGuardianIndex",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 377,
"src": "1123:23:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 374,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1123:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "1080:72:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "1053:100:1"
2020-08-09 09:16:52 -07:00
},
{
"anonymous": false,
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 395,
2020-08-09 09:16:52 -07:00
"name": "LogTokensLocked",
"nodeType": "EventDefinition",
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 394,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 379,
2020-08-09 09:16:52 -07:00
"indexed": false,
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1190:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 378,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1190:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 381,
2020-08-09 09:16:52 -07:00
"indexed": false,
"mutability": "mutable",
"name": "token_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1218:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 380,
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1218:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 383,
"indexed": false,
"mutability": "mutable",
"name": "token_decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1245:20:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 382,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1245:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 385,
2020-08-09 09:16:52 -07:00
"indexed": true,
"mutability": "mutable",
"name": "token",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1275:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 384,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1275:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 387,
2020-08-09 09:16:52 -07:00
"indexed": true,
"mutability": "mutable",
"name": "sender",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1306:22:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 386,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1306:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 389,
2020-08-09 09:16:52 -07:00
"indexed": false,
"mutability": "mutable",
"name": "recipient",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1338:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 388,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1338:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 391,
2020-08-09 09:16:52 -07:00
"indexed": false,
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1365:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 390,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1365:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
2020-08-21 03:45:24 -07:00
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 393,
2020-08-21 03:45:24 -07:00
"indexed": false,
"mutability": "mutable",
"name": "nonce",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1389:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 392,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1389:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "1180:227:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "1159:249:1"
2020-08-09 09:16:52 -07:00
},
{
"constant": false,
2020-08-09 12:16:18 -07:00
"functionSelector": "42b0aefa",
2020-08-30 02:25:02 -07:00
"id": 399,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "guardian_sets",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1467:51:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 398,
2020-08-09 09:16:52 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 396,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1475:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1467:30:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet)"
},
"valueType": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 397,
2020-08-09 09:16:52 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "1485:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
}
},
"value": null,
2020-08-09 12:16:18 -07:00
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
"constant": false,
"functionSelector": "822d82b3",
2020-08-30 02:25:02 -07:00
"id": 401,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "guardian_set_index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1559:32:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 400,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1559:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "4db47840",
2020-08-30 02:25:02 -07:00
"id": 403,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "guardian_set_expirity",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1677:35:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 402,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1677:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "a31fe409",
2020-08-30 02:25:02 -07:00
"id": 407,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "consumedVAAs",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1758:44:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 406,
2020-08-09 09:16:52 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 404,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1766:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1758:24:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
},
"valueType": {
2020-08-30 02:25:02 -07:00
"id": 405,
2020-08-09 09:16:52 -07:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1777:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
"constant": false,
2020-08-09 12:16:18 -07:00
"functionSelector": "b6694c2a",
2020-08-30 02:25:02 -07:00
"id": 411,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "wrappedAssets",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1857:48:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 410,
2020-08-09 09:16:52 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 408,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1865:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1857:27:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
},
"valueType": {
2020-08-30 02:25:02 -07:00
"id": 409,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1876:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
},
"value": null,
2020-08-09 12:16:18 -07:00
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
"constant": false,
2020-08-09 12:16:18 -07:00
"functionSelector": "1a2be4da",
2020-08-30 02:25:02 -07:00
"id": 415,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "isWrappedAsset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1911:46:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 414,
2020-08-09 09:16:52 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 412,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1919:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1911:24:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"valueType": {
2020-08-30 02:25:02 -07:00
"id": 413,
2020-08-09 09:16:52 -07:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1930:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
2020-08-09 12:16:18 -07:00
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 442,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "2085:239:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 428,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 424,
2020-08-09 09:16:52 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "2095:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 426,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 425,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2109:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "2095:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 427,
2020-08-09 09:16:52 -07:00
"name": "initial_guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 417,
"src": "2114:20:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"src": "2095:39:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"id": 429,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2095:39:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 432,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 430,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "2187:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 431,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2208:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "2187:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"id": 433,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2187:22:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 436,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 434,
"name": "guardian_set_expirity",
2020-08-09 12:16:18 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 403,
"src": "2219:21:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 435,
"name": "_guardian_set_expirity",
2020-08-09 12:16:18 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 421,
"src": "2243:22:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "2219:46:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"id": 437,
2020-08-09 12:16:18 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2219:46:1"
2020-08-09 12:16:18 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 440,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 438,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssetMaster",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 359,
"src": "2276:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 439,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset_master",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 419,
"src": "2297:20:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "2276:41:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 441,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2276:41:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 443,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 422,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 417,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "initial_guardian_set",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 443,
"src": "1976:39:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
},
"typeName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 416,
2020-08-09 09:16:52 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "1976:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 419,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "wrapped_asset_master",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 443,
"src": "2017:28:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 418,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2017:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
2020-08-09 12:16:18 -07:00
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 421,
2020-08-09 12:16:18 -07:00
"mutability": "mutable",
"name": "_guardian_set_expirity",
2020-08-09 12:16:18 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 443,
"src": "2047:29:1",
2020-08-09 12:16:18 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 420,
2020-08-09 12:16:18 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2047:6:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "1975:102:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 423,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "2085:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1964:360:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 454,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "2410:42:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
2020-08-21 03:45:24 -07:00
"expression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 450,
2020-08-21 03:45:24 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "2427:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-21 03:45:24 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 452,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 451,
2020-08-21 03:45:24 -07:00
"name": "idx",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 445,
"src": "2441:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "2427:18:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"functionReturnParameters": 449,
"id": 453,
2020-08-21 03:45:24 -07:00
"nodeType": "Return",
2020-08-30 02:25:02 -07:00
"src": "2420:25:1"
2020-08-21 03:45:24 -07:00
}
]
},
"documentation": null,
"functionSelector": "f951975a",
2020-08-30 02:25:02 -07:00
"id": 455,
2020-08-21 03:45:24 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getGuardianSet",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 446,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 445,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "idx",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 455,
"src": "2354:10:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 444,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2354:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "2353:12:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 449,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 448,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "gs",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 455,
"src": "2387:21:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
},
"typeName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 447,
2020-08-21 03:45:24 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "2387:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "2386:23:1"
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "2330:122:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 692,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "2531:1801:1",
2020-08-21 03:45:24 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
463
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 463,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "version",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2541:13:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 462,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2541:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 468,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 466,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2569:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
2020-08-09 09:16:52 -07:00
"typeString": "int_const 0"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 464,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2557:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 465,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "2557:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 467,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2557:14:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2541:30:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 472,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 470,
2020-08-09 09:16:52 -07:00
"name": "version",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 463,
"src": "2589:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "31",
2020-08-30 02:25:02 -07:00
"id": 471,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2600:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
2020-08-30 02:25:02 -07:00
"src": "2589:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "5641412076657273696f6e20696e636f6d70617469626c65",
2020-08-30 02:25:02 -07:00
"id": 473,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2603:26:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6f94df49f756ee0c4605e9c5793f0e851f28a084ddaba07c34c32ea93810236a",
"typeString": "literal_string \"VAA version incompatible\""
},
"value": "VAA version incompatible"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6f94df49f756ee0c4605e9c5793f0e851f28a084ddaba07c34c32ea93810236a",
"typeString": "literal_string \"VAA version incompatible\""
}
],
2020-08-30 02:25:02 -07:00
"id": 469,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "2581:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 474,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2581:49:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 475,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2581:49:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
477
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 477,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "vaa_guardian_set_index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2687:29:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 476,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2687:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 482,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "31",
2020-08-30 02:25:02 -07:00
"id": 480,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2732:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 478,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2719:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 479,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint32",
"nodeType": "MemberAccess",
"referencedDeclaration": 163,
2020-08-30 02:25:02 -07:00
"src": "2719:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 481,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2719:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2687:47:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
484
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 484,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "len_signers",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2745:19:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 483,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2745:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 489,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 487,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2779:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 485,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2767:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 486,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toUint8",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-21 03:45:24 -07:00
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "2767:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 488,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2767:14:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2745:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
491
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 491,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "offset",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2791:11:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 490,
2020-08-21 03:45:24 -07:00
"name": "uint",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2791:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 497,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 496,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "36",
2020-08-30 02:25:02 -07:00
"id": 492,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2805:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_6_by_1",
"typeString": "int_const 6"
},
"value": "6"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 495,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 493,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2809:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "66"
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 494,
2020-08-21 03:45:24 -07:00
"name": "len_signers",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 484,
"src": "2814:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "2809:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "2805:20:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2791:34:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
499
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 499,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "hash",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2947:12:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 498,
"name": "bytes32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2947:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 510,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 503,
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "2982:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 507,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 504,
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2990:3:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 505,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "2990:10:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 506,
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3003:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "2990:19:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 501,
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2972:3:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 502,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "slice",
"nodeType": "MemberAccess",
"referencedDeclaration": 55,
2020-08-30 02:25:02 -07:00
"src": "2972:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 508,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2972:38:1",
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2020-08-21 03:45:24 -07:00
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 500,
2020-08-09 09:16:52 -07:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
2020-08-30 02:25:02 -07:00
"src": "2962:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 509,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2962:49:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2947:64:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 515,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
2020-08-30 02:25:02 -07:00
"src": "3029:19:1",
2020-08-09 09:16:52 -07:00
"subExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 512,
2020-08-09 09:16:52 -07:00
"name": "consumedVAAs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 407,
"src": "3030:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2020-08-30 02:25:02 -07:00
"id": 514,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 513,
2020-08-09 09:16:52 -07:00
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 499,
"src": "3043:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "3030:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "5641412077617320616c7265616479206578656375746564",
2020-08-30 02:25:02 -07:00
"id": 516,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3050:26:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2c9f12104d534b328038b37a96c0a685f6c00604447c9f6b300f1a21a9a56028",
"typeString": "literal_string \"VAA was already executed\""
},
"value": "VAA was already executed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_2c9f12104d534b328038b37a96c0a685f6c00604447c9f6b300f1a21a9a56028",
"typeString": "literal_string \"VAA was already executed\""
}
],
2020-08-30 02:25:02 -07:00
"id": 511,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3021:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 517,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3021:56:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 518,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3021:56:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
520
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 520,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "guardian_set",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "3088:31:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
},
"typeName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 519,
2020-08-09 09:16:52 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "3088:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 524,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 521,
2020-08-09 09:16:52 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "3122:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 523,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 522,
2020-08-09 09:16:52 -07:00
"name": "vaa_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 477,
"src": "3136:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "3122:37:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3088:71:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
2020-08-30 02:25:02 -07:00
"id": 535,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
2020-08-30 02:25:02 -07:00
"id": 529,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 526,
2020-08-09 09:16:52 -07:00
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3177:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 527,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "expiration_time",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 370,
"src": "3177:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 528,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3209:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "3177:33:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "||",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 534,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 530,
2020-08-09 09:16:52 -07:00
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3214:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 531,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "expiration_time",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 370,
"src": "3214:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 532,
2020-08-09 09:16:52 -07:00
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
2020-08-30 02:25:02 -07:00
"src": "3245:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
2020-08-30 02:25:02 -07:00
"id": 533,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "timestamp",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "3245:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3214:46:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-30 02:25:02 -07:00
"src": "3177:83:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "677561726469616e20736574206861732065787069726564",
2020-08-30 02:25:02 -07:00
"id": 536,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3262:26:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cbe80c778d9be5c7f6d0de415ae854de0cf9a58da1d3e65a9d672ad42a10aaf1",
"typeString": "literal_string \"guardian set has expired\""
},
"value": "guardian set has expired"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cbe80c778d9be5c7f6d0de415ae854de0cf9a58da1d3e65a9d672ad42a10aaf1",
"typeString": "literal_string \"guardian set has expired\""
}
],
2020-08-30 02:25:02 -07:00
"id": 525,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3169:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 537,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3169:120:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 538,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3169:120:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 552,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 550,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"components": [
{
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 547,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 544,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 540,
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3309:12:1",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 541,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "keys",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 368,
"src": "3309:17:1",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 542,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "3309:24:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"argumentTypes": null,
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 543,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3336:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
},
2020-08-30 02:25:02 -07:00
"src": "3309:28:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-21 03:45:24 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 545,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
2020-08-30 02:25:02 -07:00
"src": "3308:30:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-21 03:45:24 -07:00
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "33",
2020-08-30 02:25:02 -07:00
"id": 546,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3341:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_3_by_1",
"typeString": "int_const 3"
},
"value": "3"
},
2020-08-30 02:25:02 -07:00
"src": "3308:34:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
}
],
2020-08-30 02:25:02 -07:00
"id": 548,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
2020-08-30 02:25:02 -07:00
"src": "3307:36:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "31",
2020-08-30 02:25:02 -07:00
"id": 549,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3346:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "3307:40:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 551,
2020-08-21 03:45:24 -07:00
"name": "len_signers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 484,
"src": "3351:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3307:55:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
}
},
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "6e6f2071756f72756d",
2020-08-30 02:25:02 -07:00
"id": 553,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3364:11:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_b18d2210a58b70fe2b7fd0e0f29d90614b1c4f3f5d8dbb518559998f90306fcb",
"typeString": "literal_string \"no quorum\""
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "no quorum"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_b18d2210a58b70fe2b7fd0e0f29d90614b1c4f3f5d8dbb518559998f90306fcb",
"typeString": "literal_string \"no quorum\""
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 539,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3299:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 554,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3299:77:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 555,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3299:77:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"body": {
2020-08-30 02:25:02 -07:00
"id": 629,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "3426:334:1",
2020-08-21 03:45:24 -07:00
"statements": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"assignments": [
2020-08-30 02:25:02 -07:00
567
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 567,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3440:11:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 566,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3440:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 576,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 574,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "36",
2020-08-30 02:25:02 -07:00
"id": 570,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3466:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_6_by_1",
"typeString": "int_const 6"
},
"value": "6"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 573,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 571,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3470:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 572,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3474:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3470:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3466:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 568,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3454:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 569,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "3454:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 575,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3454:23:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3440:37:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"assignments": [
2020-08-30 02:25:02 -07:00
578
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 578,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "r",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3491:9:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 577,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3491:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 587,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 585,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "37",
2020-08-30 02:25:02 -07:00
"id": 581,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3517:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 584,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 582,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3521:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 583,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3525:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3521:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3517:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 579,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3503:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 580,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toBytes32",
"nodeType": "MemberAccess",
"referencedDeclaration": 298,
2020-08-30 02:25:02 -07:00
"src": "3503:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 586,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3503:25:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3491:37:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
589
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 589,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "s",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3542:9:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 588,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3542:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 598,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 596,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3339",
2020-08-30 02:25:02 -07:00
"id": 592,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3568:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_39_by_1",
"typeString": "int_const 39"
},
"value": "39"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 595,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 593,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3573:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 594,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3577:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3573:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3568:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 590,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3554:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 591,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toBytes32",
"nodeType": "MemberAccess",
"referencedDeclaration": 298,
2020-08-30 02:25:02 -07:00
"src": "3554:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 597,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3554:26:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3542:38:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
600
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 600,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "v",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3594:7:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 599,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3594:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 609,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 607,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3731",
2020-08-30 02:25:02 -07:00
"id": 603,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3616:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
},
"value": "71"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 606,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 604,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3621:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 605,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3625:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3621:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3616:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 601,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3604:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 602,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "3604:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 608,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3604:24:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3594:34:1"
2020-08-21 03:45:24 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 612,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 610,
2020-08-21 03:45:24 -07:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 600,
"src": "3642:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "3237",
2020-08-30 02:25:02 -07:00
"id": 611,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3647:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_27_by_1",
"typeString": "int_const 27"
},
"value": "27"
},
2020-08-30 02:25:02 -07:00
"src": "3642:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"id": 613,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3642:7:1"
2020-08-21 03:45:24 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2020-08-30 02:25:02 -07:00
"id": 625,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 616,
2020-08-21 03:45:24 -07:00
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 499,
"src": "3681:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 617,
2020-08-21 03:45:24 -07:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 600,
"src": "3687:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 618,
2020-08-21 03:45:24 -07:00
"name": "r",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 578,
"src": "3690:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 619,
2020-08-21 03:45:24 -07:00
"name": "s",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 589,
"src": "3693:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
2020-08-30 02:25:02 -07:00
"id": 615,
2020-08-21 03:45:24 -07:00
"name": "ecrecover",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -6,
2020-08-30 02:25:02 -07:00
"src": "3671:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 620,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3671:24:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 621,
2020-08-21 03:45:24 -07:00
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3699:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 622,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "keys",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 368,
"src": "3699:17:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 624,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 623,
2020-08-21 03:45:24 -07:00
"name": "index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 567,
"src": "3717:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "3699:24:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "3671:52:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "564141207369676e617475726520696e76616c6964",
2020-08-30 02:25:02 -07:00
"id": 626,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3725:23:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_862afa71aa5d7cd3e53f61178438850df5cce8f1009ff0681521493b85052621",
"typeString": "literal_string \"VAA signature invalid\""
},
"value": "VAA signature invalid"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_862afa71aa5d7cd3e53f61178438850df5cce8f1009ff0681521493b85052621",
"typeString": "literal_string \"VAA signature invalid\""
}
],
2020-08-30 02:25:02 -07:00
"id": 614,
2020-08-21 03:45:24 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3663:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 627,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3663:86:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 628,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3663:86:1"
2020-08-21 03:45:24 -07:00
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 562,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 560,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3404:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 561,
2020-08-21 03:45:24 -07:00
"name": "len_signers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 484,
"src": "3408:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3404:15:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-30 02:25:02 -07:00
"id": 630,
2020-08-21 03:45:24 -07:00
"initializationExpression": {
"assignments": [
2020-08-30 02:25:02 -07:00
557
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 557,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "i",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 630,
"src": "3392:6:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 556,
2020-08-21 03:45:24 -07:00
"name": "uint",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3392:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 559,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 558,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3401:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3392:10:1"
2020-08-21 03:45:24 -07:00
},
"loopExpression": {
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 564,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2020-08-30 02:25:02 -07:00
"src": "3421:3:1",
2020-08-21 03:45:24 -07:00
"subExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 563,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3421:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"id": 565,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3421:3:1"
2020-08-21 03:45:24 -07:00
},
"nodeType": "ForStatement",
2020-08-30 02:25:02 -07:00
"src": "3387:373:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
632
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 632,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "action",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "3770:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 631,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3770:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 639,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 637,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 635,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3797:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 636,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3806:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "3797:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 633,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3785:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 634,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "3785:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 638,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3785:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3770:38:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
641
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 641,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "payload",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "3818:20:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 640,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3818:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 655,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 646,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 644,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3851:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 645,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3860:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
2020-08-30 02:25:02 -07:00
"src": "3851:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 653,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 647,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3863:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 648,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "3863:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 651,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 649,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3877:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 650,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3886:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
2020-08-30 02:25:02 -07:00
"src": "3877:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
2020-08-30 02:25:02 -07:00
"id": 652,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
2020-08-30 02:25:02 -07:00
"src": "3876:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3863:25:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 642,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3841:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 643,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "slice",
"nodeType": "MemberAccess",
"referencedDeclaration": 55,
2020-08-30 02:25:02 -07:00
"src": "3841:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 654,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3841:48:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3818:71:1"
2020-08-09 09:16:52 -07:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 658,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 656,
2020-08-09 09:16:52 -07:00
"name": "action",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 632,
"src": "3927:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30783031",
2020-08-30 02:25:02 -07:00
"id": 657,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3937:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "0x01"
},
2020-08-30 02:25:02 -07:00
"src": "3927:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 673,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 671,
2020-08-09 09:16:52 -07:00
"name": "action",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 632,
"src": "4135:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30783130",
2020-08-30 02:25:02 -07:00
"id": 672,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4145:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_16_by_1",
"typeString": "int_const 16"
},
"value": "0x10"
},
2020-08-30 02:25:02 -07:00
"src": "4135:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
2020-08-30 02:25:02 -07:00
"id": 683,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4202:53:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "696e76616c69642056414120616374696f6e",
2020-08-30 02:25:02 -07:00
"id": 680,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4223:20:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_27b2ea60c72d322d8c69062a768962688555c44551176a8b0389f506128d4a66",
"typeString": "literal_string \"invalid VAA action\""
},
"value": "invalid VAA action"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_27b2ea60c72d322d8c69062a768962688555c44551176a8b0389f506128d4a66",
"typeString": "literal_string \"invalid VAA action\""
}
],
2020-08-30 02:25:02 -07:00
"id": 679,
2020-08-09 09:16:52 -07:00
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
2020-08-30 02:25:02 -07:00
"src": "4216:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 681,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4216:28:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 682,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4216:28:1"
2020-08-09 09:16:52 -07:00
}
]
},
2020-08-30 02:25:02 -07:00
"id": 684,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "4131:124:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 678,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4151:45:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 675,
2020-08-09 09:16:52 -07:00
"name": "payload",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 641,
"src": "4177:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2020-08-30 02:25:02 -07:00
"id": 674,
2020-08-09 09:16:52 -07:00
"name": "vaaTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 927,
"src": "4165:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 676,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4165:20:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 677,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4165:20:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
2020-08-30 02:25:02 -07:00
"id": 685,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "3923:332:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 670,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "3943:182:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-09 12:16:18 -07:00
"commonType": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
2020-08-30 02:25:02 -07:00
"id": 662,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 660,
2020-08-09 12:16:18 -07:00
"name": "vaa_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 477,
"src": "3965:22:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 661,
2020-08-09 12:16:18 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "3991:18:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "3965:44:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "6f6e6c79207468652063757272656e7420677561726469616e207365742063616e206368616e67652074686520677561726469616e20736574",
2020-08-30 02:25:02 -07:00
"id": 663,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4011:59:1",
2020-08-09 12:16:18 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_57f82f54015302e10ddc5f5b0f8eebea6891c2be815aa07f38e9301457bc8c6a",
"typeString": "literal_string \"only the current guardian set can change the guardian set\""
},
"value": "only the current guardian set can change the guardian set"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_57f82f54015302e10ddc5f5b0f8eebea6891c2be815aa07f38e9301457bc8c6a",
"typeString": "literal_string \"only the current guardian set can change the guardian set\""
}
],
2020-08-30 02:25:02 -07:00
"id": 659,
2020-08-09 12:16:18 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3957:7:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 664,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3957:114:1",
2020-08-09 12:16:18 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 665,
2020-08-09 12:16:18 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3957:114:1"
2020-08-09 12:16:18 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 667,
2020-08-09 09:16:52 -07:00
"name": "payload",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 641,
"src": "4106:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2020-08-30 02:25:02 -07:00
"id": 666,
2020-08-09 09:16:52 -07:00
"name": "vaaUpdateGuardianSet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 792,
"src": "4085:20:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 668,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4085:29:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 669,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4085:29:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 690,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 686,
2020-08-09 09:16:52 -07:00
"name": "consumedVAAs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 407,
"src": "4300:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2020-08-30 02:25:02 -07:00
"id": 688,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 687,
2020-08-09 09:16:52 -07:00
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 499,
"src": "4313:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4300:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2020-08-30 02:25:02 -07:00
"id": 689,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4321:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2020-08-30 02:25:02 -07:00
"src": "4300:25:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-30 02:25:02 -07:00
"id": 691,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4300:25:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
"functionSelector": "3bc0aee6",
2020-08-30 02:25:02 -07:00
"id": 693,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
2020-08-21 03:45:24 -07:00
"modifiers": [
{
"arguments": null,
2020-08-30 02:25:02 -07:00
"id": 460,
2020-08-21 03:45:24 -07:00
"modifierName": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 459,
2020-08-21 03:45:24 -07:00
"name": "nonReentrant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3071,
"src": "2518:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2020-08-30 02:25:02 -07:00
"src": "2518:12:1"
2020-08-21 03:45:24 -07:00
}
],
2020-08-09 09:16:52 -07:00
"name": "submitVAA",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 458,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 457,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "vaa",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 693,
"src": "2486:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 456,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2486:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "2476:34:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 461,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "2531:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "2458:1874:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 791,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4395:755:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
699
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 699,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "new_guardian_set_index",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4405:29:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 698,
2020-08-21 03:45:24 -07:00
"name": "uint32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4405:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 704,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 702,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4451:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 700,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 695,
"src": "4437:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 701,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toUint32",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-21 03:45:24 -07:00
"referencedDeclaration": 163,
2020-08-30 02:25:02 -07:00
"src": "4437:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 703,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4437:16:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4405:48:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
706
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 706,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "len",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4463:9:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 705,
2020-08-21 03:45:24 -07:00
"name": "uint8",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4463:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 711,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 709,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4488:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "4"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 707,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 695,
"src": "4475:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 708,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-09 12:16:18 -07:00
"memberName": "toUint8",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-09 12:16:18 -07:00
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "4475:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 710,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4475:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4463:27:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
716
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 716,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "new_guardians",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4501:30:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
2020-08-21 03:45:24 -07:00
"storageLocation": "memory",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-21 03:45:24 -07:00
"baseType": {
2020-08-30 02:25:02 -07:00
"id": 714,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4501:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 715,
2020-08-21 03:45:24 -07:00
"length": null,
"nodeType": "ArrayTypeName",
2020-08-30 02:25:02 -07:00
"src": "4501:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 722,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
2020-08-09 09:16:52 -07:00
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 720,
2020-08-21 03:45:24 -07:00
"name": "len",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 706,
"src": "4548:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 719,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
2020-08-30 02:25:02 -07:00
"src": "4534:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function (uint256) pure returns (address[] memory)"
},
"typeName": {
"baseType": {
2020-08-30 02:25:02 -07:00
"id": 717,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4538:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 718,
2020-08-21 03:45:24 -07:00
"length": null,
"nodeType": "ArrayTypeName",
2020-08-30 02:25:02 -07:00
"src": "4538:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 721,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4534:18:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4501:51:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"body": {
2020-08-30 02:25:02 -07:00
"id": 750,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4593:103:1",
2020-08-21 03:45:24 -07:00
"statements": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"assignments": [
2020-08-30 02:25:02 -07:00
734
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 734,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "addr",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 750,
"src": "4607:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 733,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4607:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
],
2020-08-30 02:25:02 -07:00
"id": 743,
2020-08-21 03:45:24 -07:00
"initialValue": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 741,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 737,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4637:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 740,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 738,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4641:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3230",
2020-08-30 02:25:02 -07:00
"id": 739,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4645:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_20_by_1",
"typeString": "int_const 20"
},
"value": "20"
},
2020-08-30 02:25:02 -07:00
"src": "4641:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "4637:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
2020-08-09 09:16:52 -07:00
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 735,
2020-08-21 03:45:24 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 695,
"src": "4622:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 736,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 82,
2020-08-30 02:25:02 -07:00
"src": "4622:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (address)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 742,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2020-08-21 03:45:24 -07:00
"kind": "functionCall",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4622:26:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4607:41:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 748,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 744,
2020-08-21 03:45:24 -07:00
"name": "new_guardians",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 716,
"src": "4662:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 746,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 745,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4676:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4662:16:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 747,
2020-08-21 03:45:24 -07:00
"name": "addr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 734,
"src": "4681:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "4662:23:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 749,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4662:23:1"
2020-08-09 12:16:18 -07:00
}
2020-08-21 03:45:24 -07:00
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 12:16:18 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 729,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 727,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4579:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 728,
2020-08-21 03:45:24 -07:00
"name": "len",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 706,
"src": "4583:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "4579:7:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 12:16:18 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 751,
2020-08-21 03:45:24 -07:00
"initializationExpression": {
"assignments": [
2020-08-30 02:25:02 -07:00
724
2020-08-21 03:45:24 -07:00
],
"declarations": [
2020-08-09 12:16:18 -07:00
{
2020-08-21 03:45:24 -07:00
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 724,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "i",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 751,
"src": "4567:6:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-21 03:45:24 -07:00
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 723,
2020-08-21 03:45:24 -07:00
"name": "uint",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4567:4:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "internal"
2020-08-09 12:16:18 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 726,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 725,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4576:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4567:10:1"
2020-08-21 03:45:24 -07:00
},
"loopExpression": {
2020-08-09 12:16:18 -07:00
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 731,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2020-08-30 02:25:02 -07:00
"src": "4588:3:1",
2020-08-21 03:45:24 -07:00
"subExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 730,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4588:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 12:16:18 -07:00
}
2020-08-21 03:45:24 -07:00
},
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 732,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4588:3:1"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "ForStatement",
2020-08-30 02:25:02 -07:00
"src": "4562:134:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
753
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 753,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "old_guardian_set_index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4706:29:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 752,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4706:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 755,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 754,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "4738:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4706:50:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 758,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 756,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "4766:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 757,
2020-08-09 09:16:52 -07:00
"name": "new_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 699,
"src": "4787:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "4766:43:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"id": 759,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4766:43:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
761
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 761,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "new_guardian_set",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4820:35:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
},
"typeName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 760,
2020-08-21 03:45:24 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "4820:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 766,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 763,
2020-08-21 03:45:24 -07:00
"name": "new_guardians",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 716,
"src": "4870:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2020-08-09 09:16:52 -07:00
}
},
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 764,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4885:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2020-08-09 09:16:52 -07:00
},
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
2020-08-30 02:25:02 -07:00
"id": 762,
2020-08-09 09:16:52 -07:00
"name": "GuardianSet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "4858:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_struct$_GuardianSet_$371_storage_ptr_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(struct Wormhole.GuardianSet storage pointer)"
}
},
2020-08-30 02:25:02 -07:00
"id": 765,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4858:29:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4820:67:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 771,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 767,
2020-08-09 09:16:52 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "4897:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 769,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 768,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "4911:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4897:33:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 770,
2020-08-09 09:16:52 -07:00
"name": "new_guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 761,
"src": "4933:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"src": "4897:52:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"id": 772,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4897:52:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 784,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 773,
2020-08-09 09:16:52 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "4959:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 775,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 774,
2020-08-09 09:16:52 -07:00
"name": "old_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 753,
"src": "4973:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4959:37:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"id": 776,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberName": "expiration_time",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 370,
"src": "4959:53:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
2020-08-30 02:25:02 -07:00
"id": 783,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 779,
2020-08-09 09:16:52 -07:00
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
2020-08-30 02:25:02 -07:00
"src": "5022:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
2020-08-30 02:25:02 -07:00
"id": 780,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "timestamp",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "5022:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 778,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "5015:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint32_$",
"typeString": "type(uint32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 777,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5015:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 781,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5015:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 782,
"name": "guardian_set_expirity",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 403,
"src": "5041:21:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "5015:47:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "4959:103:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"id": 785,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4959:103:1"
2020-08-09 09:16:52 -07:00
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 787,
2020-08-21 03:45:24 -07:00
"name": "old_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 753,
"src": "5100:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 788,
2020-08-21 03:45:24 -07:00
"name": "guardian_set_index",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "5124:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 786,
2020-08-09 09:16:52 -07:00
"name": "LogGuardianSetChanged",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 377,
"src": "5078:21:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_event_nonpayable$_t_uint32_$_t_uint32_$returns$__$",
"typeString": "function (uint32,uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 789,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5078:65:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 790,
2020-08-09 09:16:52 -07:00
"nodeType": "EmitStatement",
2020-08-30 02:25:02 -07:00
"src": "5073:70:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 792,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "vaaUpdateGuardianSet",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 696,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 695,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "data",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 792,
"src": "4368:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 694,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4368:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "4367:19:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 697,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "4395:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "4338:812:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 926,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "5204:1399:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
798
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 798,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "source_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5257:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 797,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5257:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 803,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 801,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5291:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 799,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5278:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 800,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "5278:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 802,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5278:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5257:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
805
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 805,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5304:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 804,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5304:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 810,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 808,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5338:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 806,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5325:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 807,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "5325:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 809,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5325:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5304:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
812
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 812,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5459:22:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 811,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5459:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 819,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_50_by_1",
"typeString": "int_const 50"
},
2020-08-30 02:25:02 -07:00
"id": 817,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3338",
2020-08-30 02:25:02 -07:00
"id": 815,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5499:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_38_by_1",
"typeString": "int_const 38"
},
"value": "38"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3132",
2020-08-30 02:25:02 -07:00
"id": 816,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5504:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_12_by_1",
"typeString": "int_const 12"
},
"value": "12"
},
2020-08-30 02:25:02 -07:00
"src": "5499:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_rational_50_by_1",
"typeString": "int_const 50"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_50_by_1",
"typeString": "int_const 50"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 813,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5484:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 814,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 82,
2020-08-30 02:25:02 -07:00
"src": "5484:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 818,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5484:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5459:48:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
821
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 821,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5518:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 820,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5518:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 826,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "3730",
2020-08-30 02:25:02 -07:00
"id": 824,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5551:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_70_by_1",
"typeString": "int_const 70"
},
"value": "70"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_70_by_1",
"typeString": "int_const 70"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 822,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5538:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 823,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "5538:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 825,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5538:16:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5518:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
828
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 828,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5618:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 827,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5618:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 833,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "313034",
2020-08-30 02:25:02 -07:00
"id": 831,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5650:3:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_104_by_1",
"typeString": "int_const 104"
2020-08-09 09:16:52 -07:00
},
"value": "104"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_104_by_1",
"typeString": "int_const 104"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 829,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5635:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 830,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint256",
"nodeType": "MemberAccess",
"referencedDeclaration": 271,
2020-08-30 02:25:02 -07:00
"src": "5635:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 832,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5635:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5618:36:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 837,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 835,
2020-08-09 09:16:52 -07:00
"name": "source_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 798,
"src": "5673:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 836,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 805,
"src": "5689:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "5673:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "73616d6520636861696e207472616e736665727320617265206e6f7420737570706f72746564",
2020-08-30 02:25:02 -07:00
"id": 838,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5703:40:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e4bc00dc2f1f687d1ecd0a604d39e62ed5081a3cef70cb858e5f565f9bb7da23",
"typeString": "literal_string \"same chain transfers are not supported\""
},
"value": "same chain transfers are not supported"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_e4bc00dc2f1f687d1ecd0a604d39e62ed5081a3cef70cb858e5f565f9bb7da23",
"typeString": "literal_string \"same chain transfers are not supported\""
}
],
2020-08-30 02:25:02 -07:00
"id": 834,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "5665:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 839,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5665:79:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 840,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "5665:79:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 844,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 842,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 805,
"src": "5762:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 843,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "5778:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "5762:24:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "7472616e73666572206d75737420626520696e636f6d696e67",
2020-08-30 02:25:02 -07:00
"id": 845,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5788:27:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cbd36b1271ec4677f9b6b0ce3c590e298ab53454b431f3898527107beeed1a5a",
"typeString": "literal_string \"transfer must be incoming\""
},
"value": "transfer must be incoming"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cbd36b1271ec4677f9b6b0ce3c590e298ab53454b431f3898527107beeed1a5a",
"typeString": "literal_string \"transfer must be incoming\""
}
],
2020-08-30 02:25:02 -07:00
"id": 841,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "5754:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 846,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5754:62:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 847,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "5754:62:1"
2020-08-09 09:16:52 -07:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 850,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 848,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 821,
"src": "5831:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 849,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "5846:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "5831:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
2020-08-30 02:25:02 -07:00
"id": 924,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "6452:145:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
908
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 908,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 924,
"src": "6466:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 907,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6466:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 915,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_83_by_1",
"typeString": "int_const 83"
},
2020-08-30 02:25:02 -07:00
"id": 913,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3731",
2020-08-30 02:25:02 -07:00
"id": 911,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6505:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
},
"value": "71"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3132",
2020-08-30 02:25:02 -07:00
"id": 912,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6510:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_12_by_1",
"typeString": "int_const 12"
},
"value": "12"
},
2020-08-30 02:25:02 -07:00
"src": "6505:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_rational_83_by_1",
"typeString": "int_const 83"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_83_by_1",
"typeString": "int_const 83"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 909,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "6490:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 910,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 82,
2020-08-30 02:25:02 -07:00
"src": "6490:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 914,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6490:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6466:47:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 920,
2020-08-09 09:16:52 -07:00
"name": "target_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 812,
"src": "6563:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 921,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 828,
"src": "6579:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 917,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 908,
"src": "6535:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 916,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "6528:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract IERC20)"
}
},
2020-08-30 02:25:02 -07:00
"id": 918,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6528:21:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 919,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "safeTransfer",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2649,
"src": "6528:34:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$2615_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "function (contract IERC20,address,uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 922,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6528:58:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 923,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "6528:58:1"
2020-08-09 09:16:52 -07:00
}
]
},
2020-08-30 02:25:02 -07:00
"id": 925,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "5827:770:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 906,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "5856:590:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
852
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 852,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 906,
"src": "5870:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 851,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5870:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 857,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "3731",
2020-08-30 02:25:02 -07:00
"id": 855,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5909:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
},
"value": "71"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 853,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5894:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 854,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toBytes32",
"nodeType": "MemberAccess",
"referencedDeclaration": 298,
2020-08-30 02:25:02 -07:00
"src": "5894:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 856,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5894:18:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5870:42:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
859
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 859,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset_id",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 906,
"src": "5926:16:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 858,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5926:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 867,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 863,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 821,
"src": "5972:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 864,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 852,
"src": "5985:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 861,
2020-08-09 09:16:52 -07:00
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
2020-08-30 02:25:02 -07:00
"src": "5955:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
2020-08-30 02:25:02 -07:00
"id": 862,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "5955:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 865,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5955:44:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2020-08-30 02:25:02 -07:00
"id": 860,
2020-08-09 09:16:52 -07:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
2020-08-30 02:25:02 -07:00
"src": "5945:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 866,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5945:55:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5926:74:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
869
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 869,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "wrapped_asset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 906,
"src": "6092:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 868,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6092:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 873,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 870,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 411,
"src": "6116:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 872,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 871,
2020-08-09 09:16:52 -07:00
"name": "asset_id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 859,
"src": "6130:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "6116:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6092:47:1"
2020-08-09 09:16:52 -07:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2020-08-30 02:25:02 -07:00
"id": 879,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 874,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 869,
"src": "6157:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 877,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6182:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
2020-08-30 02:25:02 -07:00
"id": 876,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "6174:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 875,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6174:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6174:10:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
2020-08-30 02:25:02 -07:00
"src": "6157:27:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
2020-08-30 02:25:02 -07:00
"id": 897,
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "6153:212:1",
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 896,
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "6186:179:1",
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
881
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 881,
"mutability": "mutable",
"name": "asset_decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 896,
"src": "6204:20:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 880,
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6204:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 886,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "313033",
2020-08-30 02:25:02 -07:00
"id": 884,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6240:3:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_103_by_1",
"typeString": "int_const 103"
},
"value": "103"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_103_by_1",
"typeString": "int_const 103"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 882,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "6227:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 883,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "6227:12:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6227:17:1",
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6204:40:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 894,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 887,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 869,
"src": "6262:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 889,
2020-08-09 09:16:52 -07:00
"name": "asset_id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 859,
"src": "6297:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 890,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 821,
"src": "6307:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 891,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 852,
"src": "6320:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 892,
"name": "asset_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 881,
"src": "6335:14:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 888,
2020-08-09 09:16:52 -07:00
"name": "deployWrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 970,
"src": "6278:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_uint8_$returns$_t_address_$",
"typeString": "function (bytes32,uint8,bytes32,uint8) returns (address)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 893,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6278:72:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "6262:88:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 895,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "6262:88:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 902,
2020-08-09 09:16:52 -07:00
"name": "target_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 812,
"src": "6412:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 903,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 828,
"src": "6428:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 899,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 869,
"src": "6392:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 898,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "6379:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 900,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6379:27:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 901,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "mint",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1349,
"src": "6379:32:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256) external"
}
},
2020-08-30 02:25:02 -07:00
"id": 904,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6379:56:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 905,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "6379:56:1"
2020-08-09 09:16:52 -07:00
}
]
}
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 927,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "vaaTransfer",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 795,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 794,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "data",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 927,
"src": "5177:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 793,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5177:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "5176:19:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 796,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "5204:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "5156:1447:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 969,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "6740:808:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
941
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 941,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "targetBytes",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 969,
"src": "6918:19:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 940,
2020-08-09 09:16:52 -07:00
"name": "bytes20",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6918:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 946,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 944,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssetMaster",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 359,
"src": "6948:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 943,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "6940:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes20_$",
"typeString": "type(bytes20)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 942,
2020-08-09 09:16:52 -07:00
"name": "bytes20",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6940:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 945,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6940:27:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6918:49:1"
2020-08-09 09:16:52 -07:00
},
{
"AST": {
"nodeType": "YulBlock",
2020-08-30 02:25:02 -07:00
"src": "6986:348:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"nodeType": "YulVariableDeclaration",
2020-08-30 02:25:02 -07:00
"src": "7000:24:1",
2020-08-09 09:16:52 -07:00
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7019:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7013:5:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7013:11:1"
2020-08-09 09:16:52 -07:00
},
"variables": [
{
"name": "clone",
"nodeType": "YulTypedName",
2020-08-30 02:25:02 -07:00
"src": "7004:5:1",
2020-08-09 09:16:52 -07:00
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7044:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7051:66:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7037:6:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7037:81:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7037:81:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7142:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7149:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7138:3:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7138:16:1"
2020-08-09 09:16:52 -07:00
},
{
"name": "targetBytes",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7156:11:1"
2020-08-09 09:16:52 -07:00
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7131:6:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7131:37:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7131:37:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7192:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7199:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x28"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7188:3:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7188:16:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7206:66:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7181:6:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7181:92:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7181:92:1"
2020-08-09 09:16:52 -07:00
},
{
"nodeType": "YulAssignment",
2020-08-30 02:25:02 -07:00
"src": "7286:38:1",
2020-08-09 09:16:52 -07:00
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7303:1:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0"
},
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7306:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7313:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x37"
},
{
"name": "seed",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7319:4:1"
2020-08-09 09:16:52 -07:00
}
],
"functionName": {
"name": "create2",
2020-08-09 09:16:52 -07:00
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7295:7:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7295:29:1"
2020-08-09 09:16:52 -07:00
},
"variableNames": [
{
"name": "asset",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7286:5:1"
2020-08-09 09:16:52 -07:00
}
]
}
]
},
"evmVersion": "istanbul",
"externalReferences": [
{
2020-08-30 02:25:02 -07:00
"declaration": 938,
2020-08-09 09:16:52 -07:00
"isOffset": false,
"isSlot": false,
2020-08-30 02:25:02 -07:00
"src": "7286:5:1",
2020-08-09 09:16:52 -07:00
"valueSize": 1
},
{
2020-08-30 02:25:02 -07:00
"declaration": 929,
2020-08-09 09:16:52 -07:00
"isOffset": false,
"isSlot": false,
2020-08-30 02:25:02 -07:00
"src": "7319:4:1",
"valueSize": 1
},
{
2020-08-30 02:25:02 -07:00
"declaration": 941,
"isOffset": false,
"isSlot": false,
2020-08-30 02:25:02 -07:00
"src": "7156:11:1",
2020-08-09 09:16:52 -07:00
"valueSize": 1
}
],
2020-08-30 02:25:02 -07:00
"id": 947,
2020-08-09 09:16:52 -07:00
"nodeType": "InlineAssembly",
2020-08-30 02:25:02 -07:00
"src": "6977:357:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 952,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 931,
"src": "7403:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 953,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 933,
"src": "7416:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 954,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 935,
"src": "7431:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 949,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 938,
"src": "7385:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 948,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "7372:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 950,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7372:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 951,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "initialize",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1328,
"src": "7372:30:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_uint8_$_t_bytes32_$_t_uint8_$returns$__$",
"typeString": "function (uint8,bytes32,uint8) external"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 955,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7372:68:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 956,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7372:68:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 961,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 957,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 411,
"src": "7476:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 959,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 958,
2020-08-09 09:16:52 -07:00
"name": "seed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 929,
"src": "7490:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "7476:19:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 960,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 938,
"src": "7498:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "7476:27:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 962,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7476:27:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 967,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 963,
2020-08-09 09:16:52 -07:00
"name": "isWrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 415,
"src": "7513:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2020-08-30 02:25:02 -07:00
"id": 965,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 964,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 938,
"src": "7528:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "7513:21:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2020-08-30 02:25:02 -07:00
"id": 966,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "7537:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2020-08-30 02:25:02 -07:00
"src": "7513:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-30 02:25:02 -07:00
"id": 968,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7513:28:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 970,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "deployWrappedAsset",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 936,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 929,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "seed",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6637:12:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 928,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6637:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 931,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6651:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 930,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6651:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 933,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6670:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 932,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6670:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 935,
"mutability": "mutable",
"name": "decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6693:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 934,
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6693:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "6636:72:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 939,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 938,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6726:13:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 937,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6726:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "6725:15:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "6609:939:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1182,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "7750:1642:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 990,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 988,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "7768:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 989,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "7778:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "7768:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "616d6f756e74206d757374206e6f742062652030",
2020-08-30 02:25:02 -07:00
"id": 991,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "7781:22:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
},
"value": "amount must not be 0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
}
],
2020-08-30 02:25:02 -07:00
"id": 987,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "7760:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 992,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7760:44:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 993,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7760:44:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
995
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 995,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1182,
"src": "7815:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 994,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7815:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 997,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 996,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "7835:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "7815:28:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
999
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 999,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1182,
"src": "7853:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 998,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7853:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 1000,
2020-08-09 09:16:52 -07:00
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "7853:21:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-30 02:25:02 -07:00
"assignments": [
1002
],
"declarations": [
{
"constant": false,
"id": 1002,
"mutability": "mutable",
"name": "decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1182,
"src": "7884:14:1",
"stateVariable": false,
"storageLocation": "default",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1001,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "7884:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
],
"id": 1008,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
2020-08-09 09:16:52 -07:00
{
2020-08-30 02:25:02 -07:00
"argumentTypes": null,
"id": 1004,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "7907:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1003,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2537,
"src": "7901:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20_$2537_$",
"typeString": "type(contract ERC20)"
}
},
"id": 1005,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7901:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$2537",
"typeString": "contract ERC20"
}
},
"id": 1006,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "decimals",
"nodeType": "MemberAccess",
"referencedDeclaration": 2113,
"src": "7901:21:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
"id": 1007,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7901:23:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "7884:40:1"
},
{
"condition": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 1009,
"name": "isWrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 415,
"src": "7939:14:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
"id": 1011,
"indexExpression": {
"argumentTypes": null,
"id": 1010,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "7954:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "7939:21:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 1162,
"nodeType": "Block",
"src": "8161:1086:1",
"statements": [
{
"assignments": [
1039
],
"declarations": [
{
"constant": false,
"id": 1039,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "balanceBefore",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1162,
"src": "8175:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1038,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8175:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 1049,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1046,
2020-08-09 09:16:52 -07:00
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
2020-08-30 02:25:02 -07:00
"src": "8231:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
],
2020-08-30 02:25:02 -07:00
"id": 1045,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "8223:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1044,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8223:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1047,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8223:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1041,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8206:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1040,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "8199:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract IERC20)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1042,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8199:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 1043,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2554,
"src": "8199:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1048,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8199:38:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "8175:62:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1054,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "8282:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1055,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "8282:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1058,
2020-08-09 09:16:52 -07:00
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
2020-08-30 02:25:02 -07:00
"src": "8302:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
],
2020-08-30 02:25:02 -07:00
"id": 1057,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "8294:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1056,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8294:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1059,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8294:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1060,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "8309:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1051,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8258:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1050,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "8251:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract IERC20)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1052,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8251:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 1053,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "safeTransferFrom",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2674,
"src": "8251:30:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$2615_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "function (contract IERC20,address,address,uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1061,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8251:65:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1062,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "8251:65:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
1064
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1064,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "balanceAfter",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1162,
"src": "8330:20:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1063,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8330:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 1074,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1071,
2020-08-09 09:16:52 -07:00
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
2020-08-30 02:25:02 -07:00
"src": "8385:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
],
2020-08-30 02:25:02 -07:00
"id": 1070,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "8377:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1069,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8377:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1072,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8377:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1066,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8360:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1065,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "8353:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract IERC20)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1067,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8353:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 1068,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2554,
"src": "8353:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1073,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8353:38:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "8330:61:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1080,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1075,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "8596:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1078,
2020-08-09 09:16:52 -07:00
"name": "balanceBefore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1039,
"src": "8622:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1076,
2020-08-09 09:16:52 -07:00
"name": "balanceAfter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1064,
"src": "8605:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"id": 1077,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sub",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1880,
"src": "8605:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1079,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8605:31:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "8596:40:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"id": 1081,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "8596:40:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-30 02:25:02 -07:00
"condition": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1084,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-30 02:25:02 -07:00
"leftExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1082,
"name": "decimals",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1002,
"src": "8711:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"hexValue": "39",
"id": 1083,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8722:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "8711:12:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 1130,
"nodeType": "IfStatement",
"src": "8707:339:1",
"trueBody": {
"id": 1129,
"nodeType": "Block",
"src": "8725:321:1",
"statements": [
{
"assignments": [
1086
],
"declarations": [
{
"constant": false,
"id": 1086,
"mutability": "mutable",
"name": "original_amount",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1129,
"src": "8743:23:1",
"stateVariable": false,
"storageLocation": "default",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1085,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8743:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
],
"id": 1088,
"initialValue": {
"argumentTypes": null,
"id": 1087,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8769:6:1",
"typeDescriptions": {
2020-08-09 09:16:52 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"nodeType": "VariableDeclarationStatement",
"src": "8743:32:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1101,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1089,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8793:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1099,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1092,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8813:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1097,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1095,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "8827:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1096,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8838:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "8827:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1094,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8819:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1093,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8819:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1098,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8819:21:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8813:27:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1090,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8802:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1091,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "div",
"nodeType": "MemberAccess",
"referencedDeclaration": 1960,
"src": "8802:10:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 1100,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8802:39:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8793:48:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1102,
"nodeType": "ExpressionStatement",
"src": "8793:48:1"
},
{
"condition": {
"argumentTypes": null,
"id": 1103,
"name": "refund_dust",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 982,
"src": "8864:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"falseBody": null,
"id": 1124,
"nodeType": "IfStatement",
"src": "8860:141:1",
"trueBody": {
"id": 1123,
"nodeType": "Block",
"src": "8877:124:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1108,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "8921:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 1109,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8921:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1119,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1112,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8953:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1115,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "8967:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1116,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8978:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "8967:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1114,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8959:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1113,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8959:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1118,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8959:21:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8953:27:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1110,
"name": "original_amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1086,
"src": "8933:15:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1111,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "mod",
"nodeType": "MemberAccess",
"referencedDeclaration": 2005,
"src": "8933:19:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 1120,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8933:48:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1105,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "8905:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1104,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2537,
"src": "8899:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20_$2537_$",
"typeString": "type(contract ERC20)"
}
},
"id": 1106,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8899:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$2537",
"typeString": "contract ERC20"
}
},
"id": 1107,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 2158,
"src": "8899:21:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) external returns (bool)"
}
},
"id": 1121,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8899:83:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1122,
"nodeType": "ExpressionStatement",
"src": "8899:83:1"
}
]
2020-08-09 09:16:52 -07:00
}
},
{
2020-08-30 02:25:02 -07:00
"expression": {
"argumentTypes": null,
"id": 1127,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1125,
"name": "decimals",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1002,
"src": "9019:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "39",
"id": 1126,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9030:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "9019:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 1128,
"nodeType": "ExpressionStatement",
"src": "9019:12:1"
}
]
}
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1148,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [
2020-08-09 09:16:52 -07:00
{
2020-08-30 02:25:02 -07:00
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1134,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9085:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1143,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1138,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "9105:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1137,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2537,
"src": "9099:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20_$2537_$",
"typeString": "type(contract ERC20)"
}
},
"id": 1139,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9099:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$2537",
"typeString": "contract ERC20"
}
},
"id": 1140,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "decimals",
"nodeType": "MemberAccess",
"referencedDeclaration": 2113,
"src": "9099:21:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
"id": 1141,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9099:23:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1142,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9125:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "9099:27:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1136,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "9091:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "9091:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1144,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9091:36:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "9085:42:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1132,
"name": "balanceAfter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1064,
"src": "9068:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1133,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "div",
"nodeType": "MemberAccess",
"referencedDeclaration": 1960,
"src": "9068:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 1146,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9068:60:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 1147,
"name": "MAX_UINT64",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 357,
"src": "9132:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint64",
"typeString": "uint64"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "9068:74:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "6272696467652062616c616e636520776f756c6420657863656564206d6178696d756d",
"id": 1149,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-30 02:25:02 -07:00
"isPure": true,
"kind": "string",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-30 02:25:02 -07:00
"nodeType": "Literal",
"src": "9144:37:1",
"subdenomination": null,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_stringliteral_173119466b5178b8ca47cb473e247f7a9a678958b1d751b4cef80e7a8162cdd4",
"typeString": "literal_string \"bridge balance would exceed maximum\""
},
"value": "bridge balance would exceed maximum"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_173119466b5178b8ca47cb473e247f7a9a678958b1d751b4cef80e7a8162cdd4",
"typeString": "literal_string \"bridge balance would exceed maximum\""
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
],
"id": 1131,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "9060:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1150,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9060:122:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1151,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9060:122:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1160,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1152,
"name": "asset_address",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 999,
"src": "9197:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"arguments": [
{
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1157,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "9229:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1156,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "9221:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1155,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "9221:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1158,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9221:14:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1154,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-30 02:25:02 -07:00
"isPure": true,
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-30 02:25:02 -07:00
"nodeType": "ElementaryTypeNameExpression",
"src": "9213:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
"id": 1153,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "9213:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1159,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2020-08-30 02:25:02 -07:00
"kind": "typeConversion",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9213:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "9197:39:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1161,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9197:39:1"
}
]
},
"id": 1163,
"nodeType": "IfStatement",
"src": "7935:1312:1",
"trueBody": {
"id": 1037,
"nodeType": "Block",
"src": "7962:193:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1016,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "8001:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 1017,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8001:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 1018,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8013:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1013,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "7989:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1012,
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1811,
"src": "7976:12:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
"typeString": "type(contract WrappedAsset)"
}
},
"id": 1014,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7976:19:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
"typeString": "contract WrappedAsset"
}
},
"id": 1015,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "burn",
"nodeType": "MemberAccess",
"referencedDeclaration": 1370,
"src": "7976:24:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256) external"
}
},
"id": 1019,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7976:44:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1020,
"nodeType": "ExpressionStatement",
"src": "7976:44:1"
},
{
"expression": {
"argumentTypes": null,
"id": 1027,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1021,
"name": "asset_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 995,
"src": "8034:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1023,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "8061:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1022,
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1811,
"src": "8048:12:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
"typeString": "type(contract WrappedAsset)"
}
},
"id": 1024,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8048:19:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
"typeString": "contract WrappedAsset"
}
},
"id": 1025,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "assetChain",
"nodeType": "MemberAccess",
"referencedDeclaration": 1277,
"src": "8048:30:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
"id": 1026,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8048:32:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "8034:46:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 1028,
"nodeType": "ExpressionStatement",
"src": "8034:46:1"
},
{
"expression": {
"argumentTypes": null,
"id": 1035,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1029,
2020-08-09 09:16:52 -07:00
"name": "asset_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 999,
"src": "8094:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1031,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8123:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1030,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "8110:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1032,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8110:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 1033,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "assetAddress",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1279,
"src": "8110:32:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
"typeString": "function () view external returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1034,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8110:34:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"src": "8094:50:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"id": 1036,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "8094:50:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1165,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 978,
"src": "9278:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1166,
2020-08-09 09:16:52 -07:00
"name": "asset_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 995,
"src": "9292:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1167,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "9305:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"id": 1168,
"name": "asset_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 999,
"src": "9315:13:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"arguments": [
{
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1173,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9346:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1174,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9346:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
2020-08-30 02:25:02 -07:00
"id": 1172,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9338:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1171,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9338:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1175,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9338:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1170,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9330:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1169,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9330:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1176,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9330:28:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1177,
2020-08-09 12:16:18 -07:00
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 976,
"src": "9360:9:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1178,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "9371:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-21 03:45:24 -07:00
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1179,
2020-08-21 03:45:24 -07:00
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 980,
"src": "9379:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-09 09:16:52 -07:00
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-21 03:45:24 -07:00
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 1164,
2020-08-09 09:16:52 -07:00
"name": "LogTokensLocked",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 395,
"src": "9262:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint8_$_t_uint8_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint32_$returns$__$",
"typeString": "function (uint8,uint8,uint8,bytes32,bytes32,bytes32,uint256,uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1180,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9262:123:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1181,
2020-08-09 09:16:52 -07:00
"nodeType": "EmitStatement",
2020-08-30 02:25:02 -07:00
"src": "9257:128:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"functionSelector": "70713960",
"id": 1183,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
2020-08-21 03:45:24 -07:00
"modifiers": [
{
"arguments": null,
2020-08-30 02:25:02 -07:00
"id": 985,
2020-08-21 03:45:24 -07:00
"modifierName": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 984,
2020-08-21 03:45:24 -07:00
"name": "nonReentrant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3071,
"src": "7737:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2020-08-30 02:25:02 -07:00
"src": "7737:12:1"
2020-08-21 03:45:24 -07:00
}
],
2020-08-09 09:16:52 -07:00
"name": "lockAssets",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 983,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 972,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7583:13:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 971,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7583:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 974,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7606:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 973,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7606:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 976,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "recipient",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7630:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 975,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7630:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 978,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7657:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 977,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7657:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
2020-08-21 03:45:24 -07:00
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 980,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "nonce",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7685:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 979,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7685:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-30 02:25:02 -07:00
},
{
"constant": false,
"id": 982,
"mutability": "mutable",
"name": "refund_dust",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1183,
"src": "7707:16:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 981,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "7707:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "7573:156:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 986,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "7750:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "7554:1838:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1236,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "9526:334:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 1198,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1195,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9544:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1196,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9544:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 1197,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9557:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "9544:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "616d6f756e74206d757374206e6f742062652030",
2020-08-30 02:25:02 -07:00
"id": 1199,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9560:22:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
},
"value": "amount must not be 0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
}
],
2020-08-30 02:25:02 -07:00
"id": 1194,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "9536:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 1200,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9536:47:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1201,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9536:47:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1203,
2020-08-09 09:16:52 -07:00
"name": "WETHAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 365,
"src": "9632:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1202,
2020-08-09 09:16:52 -07:00
"name": "WETH",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1265,
"src": "9627:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WETH_$1265_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WETH)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1204,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9627:17:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WETH_$1265",
2020-08-09 09:16:52 -07:00
"typeString": "contract WETH"
}
},
2020-08-30 02:25:02 -07:00
"id": 1205,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "deposit",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1259,
"src": "9627:25:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$__$returns$__$",
"typeString": "function () payable external"
}
},
2020-08-30 02:25:02 -07:00
"id": 1208,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"names": [
"value"
],
"nodeType": "FunctionCallOptions",
"options": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1206,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9661:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1207,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9661:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
2020-08-30 02:25:02 -07:00
"src": "9627:44:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$__$returns$__$value",
"typeString": "function () payable external"
}
},
2020-08-30 02:25:02 -07:00
"id": 1209,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9627:46:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1210,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9627:46:1"
2020-08-09 09:16:52 -07:00
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1212,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1187,
"src": "9736:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1213,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "9750:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"hexValue": "3138",
2020-08-30 02:25:02 -07:00
"id": 1214,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9760:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
"value": "18"
},
2020-08-09 09:16:52 -07:00
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1219,
2020-08-09 09:16:52 -07:00
"name": "WETHAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 365,
"src": "9780:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1218,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9772:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1217,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9772:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1220,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9772:20:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1216,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9764:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1215,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9764:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1221,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9764:29:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1226,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9811:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1227,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9811:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
2020-08-30 02:25:02 -07:00
"id": 1225,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9803:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1224,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9803:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1228,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9803:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1223,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9795:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1222,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9795:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1229,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9795:28:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1230,
2020-08-21 03:45:24 -07:00
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1185,
"src": "9825:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1231,
2020-08-21 03:45:24 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9836:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1232,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9836:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-09 12:16:18 -07:00
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1233,
2020-08-21 03:45:24 -07:00
"name": "nonce",
2020-08-09 12:16:18 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1189,
"src": "9847:5:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
2020-08-21 03:45:24 -07:00
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-21 03:45:24 -07:00
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 12:16:18 -07:00
}
2020-08-21 03:45:24 -07:00
],
2020-08-30 02:25:02 -07:00
"id": 1211,
2020-08-21 03:45:24 -07:00
"name": "LogTokensLocked",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 395,
"src": "9720:15:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint8_$_t_uint8_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint32_$returns$__$",
"typeString": "function (uint8,uint8,uint8,bytes32,bytes32,bytes32,uint256,uint32)"
2020-08-21 03:45:24 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1234,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9720:133:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1235,
2020-08-21 03:45:24 -07:00
"nodeType": "EmitStatement",
2020-08-30 02:25:02 -07:00
"src": "9715:138:1"
2020-08-21 03:45:24 -07:00
}
]
},
"documentation": null,
"functionSelector": "58d62e46",
2020-08-30 02:25:02 -07:00
"id": 1237,
2020-08-21 03:45:24 -07:00
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
2020-08-30 02:25:02 -07:00
"id": 1192,
2020-08-21 03:45:24 -07:00
"modifierName": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1191,
2020-08-21 03:45:24 -07:00
"name": "nonReentrant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3071,
"src": "9513:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2020-08-30 02:25:02 -07:00
"src": "9513:12:1"
2020-08-21 03:45:24 -07:00
}
],
"name": "lockETH",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1190,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1185,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "recipient",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1237,
"src": "9424:17:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1184,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9424:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1187,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1237,
"src": "9451:18:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1186,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9451:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1189,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "nonce",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1237,
"src": "9479:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1188,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9479:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "9414:83:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1193,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9526:0:1"
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "9398:462:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1244,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "9894:57:1",
2020-08-21 03:45:24 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
2020-08-09 09:16:52 -07:00
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "706c6561736520757365206c6f636b45544820746f207472616e736665722045544820746f20536f6c616e61",
2020-08-30 02:25:02 -07:00
"id": 1241,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9902:46:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "please use lockETH to transfer ETH to Solana"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
}
],
2020-08-30 02:25:02 -07:00
"id": 1240,
2020-08-21 03:45:24 -07:00
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
2020-08-30 02:25:02 -07:00
"src": "9895:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 1242,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9895:54:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1243,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9895:54:1"
2020-08-21 03:45:24 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 1245,
2020-08-21 03:45:24 -07:00
"implemented": true,
"kind": "fallback",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1238,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9874:2:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1239,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9894:0:1"
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "9866:85:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1252,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "9984:57:1",
2020-08-21 03:45:24 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "706c6561736520757365206c6f636b45544820746f207472616e736665722045544820746f20536f6c616e61",
2020-08-30 02:25:02 -07:00
"id": 1249,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": true,
"kind": "string",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9992:46:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
},
"value": "please use lockETH to transfer ETH to Solana"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 1248,
2020-08-21 03:45:24 -07:00
"name": "revert",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
2020-08-21 03:45:24 -07:00
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
2020-08-30 02:25:02 -07:00
"src": "9985:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1250,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9985:54:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1251,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9985:54:1"
2020-08-21 03:45:24 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 1253,
2020-08-21 03:45:24 -07:00
"implemented": true,
"kind": "receive",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1246,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9964:2:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1247,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9984:0:1"
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "9957:84:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
}
],
2020-08-30 02:25:02 -07:00
"scope": 1266,
"src": "502:9541:1"
2020-08-21 03:45:24 -07:00
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 1255,
2020-08-21 03:45:24 -07:00
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "10064:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-21 03:45:24 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 1256,
2020-08-21 03:45:24 -07:00
"nodeType": "InheritanceSpecifier",
2020-08-30 02:25:02 -07:00
"src": "10064:6:1"
2020-08-21 03:45:24 -07:00
}
],
"contractDependencies": [
2020-08-30 02:25:02 -07:00
2615
2020-08-21 03:45:24 -07:00
],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
2020-08-30 02:25:02 -07:00
"id": 1265,
2020-08-21 03:45:24 -07:00
"linearizedBaseContracts": [
2020-08-30 02:25:02 -07:00
1265,
2615
2020-08-21 03:45:24 -07:00
],
"name": "WETH",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"functionSelector": "d0e30db0",
2020-08-30 02:25:02 -07:00
"id": 1259,
2020-08-21 03:45:24 -07:00
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "deposit",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1257,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "10093:2:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1258,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "10112:0:1"
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1265,
"src": "10077:36:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"functionSelector": "2e1a7d4d",
2020-08-30 02:25:02 -07:00
"id": 1264,
2020-08-21 03:45:24 -07:00
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "withdraw",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1262,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1261,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1264,
"src": "10137:14:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1260,
2020-08-21 03:45:24 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "10137:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "10136:16:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1263,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "10161:0:1"
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1265,
"src": "10119:43:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
2020-08-30 02:25:02 -07:00
"scope": 1266,
"src": "10046:118:1"
2020-08-21 03:45:24 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "103:10062:1"
2020-08-21 03:45:24 -07:00
},
"legacyAST": {
"absolutePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol",
"exportedSymbols": {
"WETH": [
2020-08-30 02:25:02 -07:00
1265
2020-08-21 03:45:24 -07:00
],
"Wormhole": [
2020-08-30 02:25:02 -07:00
1254
2020-08-21 03:45:24 -07:00
]
},
2020-08-30 02:25:02 -07:00
"id": 1266,
2020-08-21 03:45:24 -07:00
"license": "Apache 2",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 335,
"literals": [
"solidity",
"^",
"0.6",
".0"
],
"nodeType": "PragmaDirective",
"src": "103:23:1"
},
{
"id": 336,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "127:33:1"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
"id": 337,
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2538,
"src": "162:55:1",
"symbolAliases": [],
"unitAlias": ""
},
2020-08-21 03:45:24 -07:00
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 338,
2020-08-21 03:45:24 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2616,
"src": "218:56:1",
2020-08-21 03:45:24 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/SafeERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/SafeERC20.sol",
"id": 339,
2020-08-21 03:45:24 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2829,
"src": "275:59:1",
2020-08-21 03:45:24 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/math/SafeMath.sol",
"file": "@openzeppelin/contracts/math/SafeMath.sol",
"id": 340,
2020-08-21 03:45:24 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 2031,
"src": "335:51:1",
2020-08-21 03:45:24 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"id": 341,
2020-08-21 03:45:24 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 3073,
"src": "387:59:1",
2020-08-21 03:45:24 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/BytesLib.sol",
"file": "./BytesLib.sol",
"id": 342,
2020-08-21 03:45:24 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
2020-08-21 03:45:24 -07:00
"sourceUnit": 334,
"src": "447:24:1",
2020-08-21 03:45:24 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/WrappedAsset.sol",
"file": "./WrappedAsset.sol",
"id": 343,
2020-08-21 03:45:24 -07:00
"nodeType": "ImportDirective",
2020-08-30 02:25:02 -07:00
"scope": 1266,
"sourceUnit": 1812,
"src": "472:28:1",
2020-08-21 03:45:24 -07:00
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 344,
2020-08-21 03:45:24 -07:00
"name": "ReentrancyGuard",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3072,
"src": "523:15:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_ReentrancyGuard_$3072",
2020-08-21 03:45:24 -07:00
"typeString": "contract ReentrancyGuard"
}
},
"id": 345,
2020-08-21 03:45:24 -07:00
"nodeType": "InheritanceSpecifier",
"src": "523:15:1"
2020-08-21 03:45:24 -07:00
}
],
"contractDependencies": [
2020-08-30 02:25:02 -07:00
3072
2020-08-21 03:45:24 -07:00
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
2020-08-30 02:25:02 -07:00
"id": 1254,
2020-08-21 03:45:24 -07:00
"linearizedBaseContracts": [
2020-08-30 02:25:02 -07:00
1254,
3072
2020-08-21 03:45:24 -07:00
],
"name": "Wormhole",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 348,
2020-08-21 03:45:24 -07:00
"libraryName": {
"contractScope": null,
"id": 346,
2020-08-21 03:45:24 -07:00
"name": "SafeERC20",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2828,
"src": "551:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_SafeERC20_$2828",
2020-08-21 03:45:24 -07:00
"typeString": "library SafeERC20"
}
},
"nodeType": "UsingForDirective",
"src": "545:27:1",
2020-08-21 03:45:24 -07:00
"typeName": {
"contractScope": null,
"id": 347,
2020-08-21 03:45:24 -07:00
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "565:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-21 03:45:24 -07:00
"typeString": "contract IERC20"
}
}
},
{
"id": 351,
2020-08-21 03:45:24 -07:00
"libraryName": {
"contractScope": null,
"id": 349,
2020-08-21 03:45:24 -07:00
"name": "BytesLib",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 333,
"src": "583:8:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_contract$_BytesLib_$333",
"typeString": "library BytesLib"
}
},
"nodeType": "UsingForDirective",
"src": "577:25:1",
2020-08-21 03:45:24 -07:00
"typeName": {
"id": 350,
2020-08-21 03:45:24 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "596:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
}
},
{
"id": 354,
2020-08-21 03:45:24 -07:00
"libraryName": {
"contractScope": null,
"id": 352,
2020-08-21 03:45:24 -07:00
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2030,
"src": "613:8:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_SafeMath_$2030",
2020-08-21 03:45:24 -07:00
"typeString": "library SafeMath"
}
},
"nodeType": "UsingForDirective",
"src": "607:27:1",
2020-08-21 03:45:24 -07:00
"typeName": {
"id": 353,
2020-08-21 03:45:24 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "626:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
2020-08-30 02:25:02 -07:00
{
"constant": true,
"id": 357,
"mutability": "constant",
"name": "MAX_UINT64",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1254,
"src": "640:55:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint64",
"typeString": "uint64"
},
"typeName": {
"id": 355,
"name": "uint64",
"nodeType": "ElementaryTypeName",
"src": "640:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint64",
"typeString": "uint64"
}
},
"value": {
"argumentTypes": null,
"hexValue": "31385f3434365f3734345f3037335f3730395f3535315f363135",
"id": 356,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "669:26:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_18446744073709551615_by_1",
"typeString": "int_const 18446744073709551615"
},
"value": "18_446_744_073_709_551_615"
},
"visibility": "internal"
},
2020-08-21 03:45:24 -07:00
{
"constant": false,
"functionSelector": "99da1d3c",
2020-08-30 02:25:02 -07:00
"id": 359,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "wrappedAssetMaster",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "747:33:1",
2020-08-21 03:45:24 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 358,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "747:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 362,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "CHAIN_ID",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "815:18:1",
2020-08-21 03:45:24 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 360,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "815:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"argumentTypes": null,
"hexValue": "32",
2020-08-30 02:25:02 -07:00
"id": 361,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "832:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "internal"
},
{
"constant": true,
2020-08-30 02:25:02 -07:00
"id": 365,
2020-08-21 03:45:24 -07:00
"mutability": "constant",
"name": "WETHAddress",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "885:73:1",
2020-08-21 03:45:24 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 363,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "885:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"argumentTypes": null,
"hexValue": "307843303261614133396232323346453844304130653543344632376541443930383343373536436332",
2020-08-30 02:25:02 -07:00
"id": 364,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "916:42:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
"value": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
},
"visibility": "internal"
},
{
"canonicalName": "Wormhole.GuardianSet",
2020-08-30 02:25:02 -07:00
"id": 371,
2020-08-21 03:45:24 -07:00
"members": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 368,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "keys",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 371,
"src": "994:14:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
2020-08-30 02:25:02 -07:00
"id": 366,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "994:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 367,
2020-08-21 03:45:24 -07:00
"length": null,
"nodeType": "ArrayTypeName",
2020-08-30 02:25:02 -07:00
"src": "994:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 370,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "expiration_time",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 371,
"src": "1018:22:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 369,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1018:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "GuardianSet",
"nodeType": "StructDefinition",
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "965:82:1",
2020-08-21 03:45:24 -07:00
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 377,
2020-08-21 03:45:24 -07:00
"name": "LogGuardianSetChanged",
"nodeType": "EventDefinition",
2020-08-09 09:16:52 -07:00
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 376,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 373,
2020-08-21 03:45:24 -07:00
"indexed": false,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "oldGuardianIndex",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 377,
"src": "1090:23:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 372,
2020-08-21 03:45:24 -07:00
"name": "uint32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1090:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 375,
2020-08-21 03:45:24 -07:00
"indexed": false,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "newGuardianIndex",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 377,
"src": "1123:23:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 374,
2020-08-21 03:45:24 -07:00
"name": "uint32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1123:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
2020-08-21 03:45:24 -07:00
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "1080:72:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "1053:100:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"anonymous": false,
2020-08-09 09:16:52 -07:00
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 395,
2020-08-21 03:45:24 -07:00
"name": "LogTokensLocked",
"nodeType": "EventDefinition",
2020-08-09 09:16:52 -07:00
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 394,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 379,
2020-08-21 03:45:24 -07:00
"indexed": false,
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1190:18:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 378,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1190:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 381,
2020-08-21 03:45:24 -07:00
"indexed": false,
"mutability": "mutable",
"name": "token_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1218:17:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 380,
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1218:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 383,
"indexed": false,
"mutability": "mutable",
"name": "token_decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1245:20:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 382,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1245:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 385,
2020-08-21 03:45:24 -07:00
"indexed": true,
"mutability": "mutable",
"name": "token",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1275:21:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 384,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1275:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 387,
2020-08-21 03:45:24 -07:00
"indexed": true,
"mutability": "mutable",
"name": "sender",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1306:22:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 386,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1306:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 389,
2020-08-21 03:45:24 -07:00
"indexed": false,
"mutability": "mutable",
"name": "recipient",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1338:17:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 388,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1338:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 391,
2020-08-21 03:45:24 -07:00
"indexed": false,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1365:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 390,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1365:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
2020-08-21 03:45:24 -07:00
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 393,
2020-08-21 03:45:24 -07:00
"indexed": false,
"mutability": "mutable",
"name": "nonce",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 395,
"src": "1389:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 392,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1389:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "1180:227:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "1159:249:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"constant": false,
"functionSelector": "42b0aefa",
2020-08-30 02:25:02 -07:00
"id": 399,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "guardian_sets",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1467:51:1",
2020-08-21 03:45:24 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-21 03:45:24 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet)"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 398,
2020-08-21 03:45:24 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 396,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1475:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1467:30:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-21 03:45:24 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet)"
},
"valueType": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 397,
2020-08-21 03:45:24 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "1485:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
"value": null,
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"constant": false,
"functionSelector": "822d82b3",
2020-08-30 02:25:02 -07:00
"id": 401,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "guardian_set_index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1559:32:1",
2020-08-21 03:45:24 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 400,
2020-08-21 03:45:24 -07:00
"name": "uint32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1559:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
"value": null,
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
"constant": false,
"functionSelector": "4db47840",
2020-08-30 02:25:02 -07:00
"id": 403,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "guardian_set_expirity",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1677:35:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 402,
2020-08-21 03:45:24 -07:00
"name": "uint32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1677:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "a31fe409",
2020-08-30 02:25:02 -07:00
"id": 407,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "consumedVAAs",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1758:44:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 406,
2020-08-21 03:45:24 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 404,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1766:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1758:24:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"valueType": {
2020-08-30 02:25:02 -07:00
"id": 405,
2020-08-21 03:45:24 -07:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1777:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"constant": false,
"functionSelector": "b6694c2a",
2020-08-30 02:25:02 -07:00
"id": 411,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "wrappedAssets",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1857:48:1",
2020-08-09 09:16:52 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 410,
2020-08-21 03:45:24 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 408,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1865:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1857:27:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"valueType": {
2020-08-30 02:25:02 -07:00
"id": 409,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1876:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"constant": false,
"functionSelector": "1a2be4da",
2020-08-30 02:25:02 -07:00
"id": 415,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "isWrappedAsset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1911:46:1",
2020-08-21 03:45:24 -07:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 414,
2020-08-21 03:45:24 -07:00
"keyType": {
2020-08-30 02:25:02 -07:00
"id": 412,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1919:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "Mapping",
2020-08-30 02:25:02 -07:00
"src": "1911:24:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"valueType": {
2020-08-30 02:25:02 -07:00
"id": 413,
2020-08-21 03:45:24 -07:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "1930:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
}
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
"value": null,
2020-08-09 09:16:52 -07:00
"visibility": "public"
},
{
2020-08-21 03:45:24 -07:00
"body": {
2020-08-30 02:25:02 -07:00
"id": 442,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "2085:239:1",
2020-08-21 03:45:24 -07:00
"statements": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 428,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 424,
2020-08-21 03:45:24 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "2095:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-21 03:45:24 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 426,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 425,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2109:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "2095:16:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 427,
2020-08-21 03:45:24 -07:00
"name": "initial_guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 417,
"src": "2114:20:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"src": "2095:39:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 429,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2095:39:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 432,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 430,
2020-08-21 03:45:24 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "2187:18:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 431,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2208:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "2187:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 433,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2187:22:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 436,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 434,
"name": "guardian_set_expirity",
2020-08-21 03:45:24 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 403,
"src": "2219:21:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 435,
"name": "_guardian_set_expirity",
2020-08-21 03:45:24 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 421,
"src": "2243:22:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "2219:46:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 437,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2219:46:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 440,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 438,
2020-08-21 03:45:24 -07:00
"name": "wrappedAssetMaster",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 359,
"src": "2276:18:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 439,
2020-08-21 03:45:24 -07:00
"name": "wrapped_asset_master",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 419,
"src": "2297:20:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "2276:41:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 441,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2276:41:1"
2020-08-21 03:45:24 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 443,
2020-08-21 03:45:24 -07:00
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 422,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
2020-08-09 09:16:52 -07:00
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 417,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "initial_guardian_set",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 443,
"src": "1976:39:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
2020-08-21 03:45:24 -07:00
"storageLocation": "memory",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-21 03:45:24 -07:00
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 416,
2020-08-21 03:45:24 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "1976:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 419,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "wrapped_asset_master",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 443,
"src": "2017:28:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 418,
2020-08-21 03:45:24 -07:00
"name": "address",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2017:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 421,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "_guardian_set_expirity",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 443,
"src": "2047:29:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 420,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2047:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
],
2020-08-30 02:25:02 -07:00
"src": "1975:102:1"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 423,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "2085:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "1964:360:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"virtual": false,
2020-08-09 12:16:18 -07:00
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"body": {
2020-08-30 02:25:02 -07:00
"id": 454,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "2410:42:1",
2020-08-21 03:45:24 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 450,
2020-08-21 03:45:24 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "2427:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-21 03:45:24 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 452,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 451,
2020-08-21 03:45:24 -07:00
"name": "idx",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 445,
"src": "2441:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "2427:18:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"functionReturnParameters": 449,
"id": 453,
2020-08-21 03:45:24 -07:00
"nodeType": "Return",
2020-08-30 02:25:02 -07:00
"src": "2420:25:1"
2020-08-21 03:45:24 -07:00
}
]
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"documentation": null,
"functionSelector": "f951975a",
2020-08-30 02:25:02 -07:00
"id": 455,
2020-08-21 03:45:24 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getGuardianSet",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 446,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 445,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "idx",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 455,
"src": "2354:10:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 444,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2354:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
],
2020-08-30 02:25:02 -07:00
"src": "2353:12:1"
2020-08-21 03:45:24 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 449,
2020-08-21 03:45:24 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 448,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "gs",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 455,
"src": "2387:21:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
},
"typeName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 447,
2020-08-21 03:45:24 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "2387:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
],
2020-08-30 02:25:02 -07:00
"src": "2386:23:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "2330:122:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "view",
"virtual": false,
2020-08-09 12:16:18 -07:00
"visibility": "public"
2020-08-09 09:16:52 -07:00
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 692,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "2531:1801:1",
2020-08-09 09:16:52 -07:00
"statements": [
2020-08-21 03:45:24 -07:00
{
"assignments": [
2020-08-30 02:25:02 -07:00
463
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 463,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "version",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2541:13:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 462,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2541:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 468,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 466,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2569:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 464,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2557:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 465,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "2557:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 467,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2557:14:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2541:30:1"
2020-08-21 03:45:24 -07:00
},
2020-08-09 09:16:52 -07:00
{
"expression": {
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 472,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 470,
2020-08-21 03:45:24 -07:00
"name": "version",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 463,
"src": "2589:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "31",
2020-08-30 02:25:02 -07:00
"id": 471,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2600:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
2020-08-30 02:25:02 -07:00
"src": "2589:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "5641412076657273696f6e20696e636f6d70617469626c65",
2020-08-30 02:25:02 -07:00
"id": 473,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2603:26:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6f94df49f756ee0c4605e9c5793f0e851f28a084ddaba07c34c32ea93810236a",
"typeString": "literal_string \"VAA version incompatible\""
},
"value": "VAA version incompatible"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_6f94df49f756ee0c4605e9c5793f0e851f28a084ddaba07c34c32ea93810236a",
"typeString": "literal_string \"VAA version incompatible\""
}
],
2020-08-30 02:25:02 -07:00
"id": 469,
2020-08-21 03:45:24 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "2581:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 474,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2020-08-21 03:45:24 -07:00
"kind": "functionCall",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2581:49:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 475,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "2581:49:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
477
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 477,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "vaa_guardian_set_index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2687:29:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 476,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2687:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 482,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "31",
2020-08-30 02:25:02 -07:00
"id": 480,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2732:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 478,
2020-08-21 03:45:24 -07:00
"name": "vaa",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2719:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 479,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint32",
"nodeType": "MemberAccess",
"referencedDeclaration": 163,
2020-08-30 02:25:02 -07:00
"src": "2719:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 481,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2719:15:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2687:47:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
484
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 484,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "len_signers",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2745:19:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 483,
2020-08-21 03:45:24 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2745:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 489,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 487,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2779:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 485,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2767:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 486,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "2767:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 488,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2767:14:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2745:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
491
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 491,
"mutability": "mutable",
"name": "offset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2791:11:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 490,
"name": "uint",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2791:4:1",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 497,
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 496,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "36",
2020-08-30 02:25:02 -07:00
"id": 492,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2805:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_6_by_1",
"typeString": "int_const 6"
},
"value": "6"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 495,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 493,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "2809:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
2020-08-21 03:45:24 -07:00
},
"value": "66"
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 494,
"name": "len_signers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 484,
"src": "2814:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "2809:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "2805:20:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2791:34:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
499
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 499,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "hash",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "2947:12:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 498,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2947:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 510,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 503,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "2982:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 507,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 504,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2990:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 505,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "2990:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 506,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3003:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "2990:19:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 501,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "2972:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 502,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "slice",
"nodeType": "MemberAccess",
"referencedDeclaration": 55,
2020-08-30 02:25:02 -07:00
"src": "2972:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 508,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
"kind": "functionCall",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2972:38:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 500,
2020-08-21 03:45:24 -07:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
2020-08-30 02:25:02 -07:00
"src": "2962:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 509,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "2962:49:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "2947:64:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 515,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
2020-08-30 02:25:02 -07:00
"src": "3029:19:1",
2020-08-21 03:45:24 -07:00
"subExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 512,
2020-08-21 03:45:24 -07:00
"name": "consumedVAAs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 407,
"src": "3030:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2020-08-30 02:25:02 -07:00
"id": 514,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 513,
2020-08-21 03:45:24 -07:00
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 499,
"src": "3043:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "3030:18:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
}
},
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "5641412077617320616c7265616479206578656375746564",
2020-08-30 02:25:02 -07:00
"id": 516,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
2020-08-21 03:45:24 -07:00
"kind": "string",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3050:26:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_2c9f12104d534b328038b37a96c0a685f6c00604447c9f6b300f1a21a9a56028",
"typeString": "literal_string \"VAA was already executed\""
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "VAA was already executed"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_2c9f12104d534b328038b37a96c0a685f6c00604447c9f6b300f1a21a9a56028",
"typeString": "literal_string \"VAA was already executed\""
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 511,
2020-08-21 03:45:24 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3021:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 517,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3021:56:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 518,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3021:56:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
520
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 520,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "guardian_set",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "3088:31:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
2020-08-21 03:45:24 -07:00
"storageLocation": "memory",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-21 03:45:24 -07:00
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 519,
2020-08-21 03:45:24 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "3088:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 524,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 521,
2020-08-21 03:45:24 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "3122:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-21 03:45:24 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 523,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 522,
2020-08-21 03:45:24 -07:00
"name": "vaa_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 477,
"src": "3136:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"isConstant": false,
2020-08-21 03:45:24 -07:00
"isLValue": true,
2020-08-09 09:16:52 -07:00
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "3122:37:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3088:71:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 535,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
2020-08-30 02:25:02 -07:00
"id": 529,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 526,
2020-08-21 03:45:24 -07:00
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3177:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 527,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "expiration_time",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 370,
"src": "3177:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
2020-08-21 03:45:24 -07:00
"operator": "==",
2020-08-09 09:16:52 -07:00
"rightExpression": {
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 528,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3209:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "3177:33:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "BinaryOperation",
2020-08-21 03:45:24 -07:00
"operator": "||",
2020-08-09 09:16:52 -07:00
"rightExpression": {
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 534,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 530,
2020-08-21 03:45:24 -07:00
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3214:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 531,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "expiration_time",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 370,
"src": "3214:28:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 532,
2020-08-21 03:45:24 -07:00
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
2020-08-30 02:25:02 -07:00
"src": "3245:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
2020-08-30 02:25:02 -07:00
"id": 533,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "timestamp",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "3245:15:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3214:46:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "3177:83:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "677561726469616e20736574206861732065787069726564",
2020-08-30 02:25:02 -07:00
"id": 536,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3262:26:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_cbe80c778d9be5c7f6d0de415ae854de0cf9a58da1d3e65a9d672ad42a10aaf1",
"typeString": "literal_string \"guardian set has expired\""
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "guardian set has expired"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_cbe80c778d9be5c7f6d0de415ae854de0cf9a58da1d3e65a9d672ad42a10aaf1",
"typeString": "literal_string \"guardian set has expired\""
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 525,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3169:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 537,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3169:120:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 538,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3169:120:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 552,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 550,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"components": [
{
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 547,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 544,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 540,
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3309:12:1",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 541,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "keys",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 368,
"src": "3309:17:1",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 542,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "3309:24:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"argumentTypes": null,
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 543,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3336:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
},
2020-08-30 02:25:02 -07:00
"src": "3309:28:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-21 03:45:24 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 545,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
2020-08-30 02:25:02 -07:00
"src": "3308:30:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-21 03:45:24 -07:00
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "33",
2020-08-30 02:25:02 -07:00
"id": 546,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3341:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_3_by_1",
"typeString": "int_const 3"
},
"value": "3"
},
2020-08-30 02:25:02 -07:00
"src": "3308:34:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 548,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
2020-08-30 02:25:02 -07:00
"src": "3307:36:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "31",
2020-08-30 02:25:02 -07:00
"id": 549,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3346:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "3307:40:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 551,
2020-08-21 03:45:24 -07:00
"name": "len_signers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 484,
"src": "3351:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "3307:55:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "6e6f2071756f72756d",
2020-08-30 02:25:02 -07:00
"id": 553,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3364:11:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_b18d2210a58b70fe2b7fd0e0f29d90614b1c4f3f5d8dbb518559998f90306fcb",
"typeString": "literal_string \"no quorum\""
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "no quorum"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_stringliteral_b18d2210a58b70fe2b7fd0e0f29d90614b1c4f3f5d8dbb518559998f90306fcb",
"typeString": "literal_string \"no quorum\""
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 539,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3299:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 554,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3299:77:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 555,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3299:77:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"body": {
2020-08-30 02:25:02 -07:00
"id": 629,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "3426:334:1",
2020-08-21 03:45:24 -07:00
"statements": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"assignments": [
2020-08-30 02:25:02 -07:00
567
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 567,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3440:11:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 566,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3440:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 576,
2020-08-21 03:45:24 -07:00
"initialValue": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 574,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "36",
2020-08-30 02:25:02 -07:00
"id": 570,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3466:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_6_by_1",
"typeString": "int_const 6"
},
"value": "6"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 573,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 571,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3470:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 572,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3474:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3470:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3466:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-09 09:16:52 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 568,
2020-08-21 03:45:24 -07:00
"name": "vaa",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3454:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 569,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "3454:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 575,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2020-08-21 03:45:24 -07:00
"kind": "functionCall",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3454:23:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3440:37:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
578
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 578,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "r",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3491:9:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 577,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3491:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 587,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 585,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "37",
2020-08-30 02:25:02 -07:00
"id": 581,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3517:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 584,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 582,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3521:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 583,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3525:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3521:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3517:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-09 09:16:52 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 579,
2020-08-21 03:45:24 -07:00
"name": "vaa",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3503:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 580,
2020-08-09 09:16:52 -07:00
"isConstant": false,
2020-08-21 03:45:24 -07:00
"isLValue": false,
2020-08-09 09:16:52 -07:00
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toBytes32",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-21 03:45:24 -07:00
"referencedDeclaration": 298,
2020-08-30 02:25:02 -07:00
"src": "3503:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (bytes32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 586,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3503:25:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3491:37:1"
2020-08-21 03:45:24 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
589
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 589,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "s",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3542:9:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 588,
2020-08-21 03:45:24 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3542:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 598,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 596,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3339",
2020-08-30 02:25:02 -07:00
"id": 592,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3568:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_39_by_1",
"typeString": "int_const 39"
},
"value": "39"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 595,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 593,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3573:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 594,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3577:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3573:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3568:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-09 09:16:52 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 590,
2020-08-21 03:45:24 -07:00
"name": "vaa",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3554:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 591,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toBytes32",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-21 03:45:24 -07:00
"referencedDeclaration": 298,
2020-08-30 02:25:02 -07:00
"src": "3554:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (bytes32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 597,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3554:26:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3542:38:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"assignments": [
2020-08-30 02:25:02 -07:00
600
2020-08-21 03:45:24 -07:00
],
"declarations": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 600,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "v",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 629,
"src": "3594:7:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 599,
2020-08-21 03:45:24 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3594:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 609,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 607,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3731",
2020-08-30 02:25:02 -07:00
"id": 603,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3616:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
},
"value": "71"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 606,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 604,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3621:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3636",
2020-08-30 02:25:02 -07:00
"id": 605,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3625:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_66_by_1",
"typeString": "int_const 66"
},
"value": "66"
},
2020-08-30 02:25:02 -07:00
"src": "3621:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3616:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
}
2020-08-21 03:45:24 -07:00
],
"expression": {
"argumentTypes": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 601,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3604:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 602,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "3604:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 608,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3604:24:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3594:34:1"
2020-08-21 03:45:24 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 612,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 610,
2020-08-21 03:45:24 -07:00
"name": "v",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 600,
"src": "3642:1:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-21 03:45:24 -07:00
}
},
"nodeType": "Assignment",
"operator": "+=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "3237",
2020-08-30 02:25:02 -07:00
"id": 611,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3647:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_27_by_1",
"typeString": "int_const 27"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "27"
},
2020-08-30 02:25:02 -07:00
"src": "3642:7:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"id": 613,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3642:7:1"
2020-08-21 03:45:24 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2020-08-30 02:25:02 -07:00
"id": 625,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 616,
2020-08-21 03:45:24 -07:00
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 499,
"src": "3681:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 617,
2020-08-21 03:45:24 -07:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 600,
"src": "3687:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 618,
2020-08-21 03:45:24 -07:00
"name": "r",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 578,
"src": "3690:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 619,
2020-08-21 03:45:24 -07:00
"name": "s",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 589,
"src": "3693:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
2020-08-30 02:25:02 -07:00
"id": 615,
2020-08-21 03:45:24 -07:00
"name": "ecrecover",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -6,
2020-08-30 02:25:02 -07:00
"src": "3671:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 620,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3671:24:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 621,
2020-08-21 03:45:24 -07:00
"name": "guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 520,
"src": "3699:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-21 03:45:24 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 622,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "keys",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 368,
"src": "3699:17:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 624,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 623,
2020-08-21 03:45:24 -07:00
"name": "index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 567,
"src": "3717:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "3699:24:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "3671:52:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
"hexValue": "564141207369676e617475726520696e76616c6964",
2020-08-30 02:25:02 -07:00
"id": 626,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3725:23:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_862afa71aa5d7cd3e53f61178438850df5cce8f1009ff0681521493b85052621",
"typeString": "literal_string \"VAA signature invalid\""
},
"value": "VAA signature invalid"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_862afa71aa5d7cd3e53f61178438850df5cce8f1009ff0681521493b85052621",
"typeString": "literal_string \"VAA signature invalid\""
}
],
2020-08-30 02:25:02 -07:00
"id": 614,
2020-08-21 03:45:24 -07:00
"name": "require",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
2020-08-21 03:45:24 -07:00
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3663:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 627,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2020-08-21 03:45:24 -07:00
"kind": "functionCall",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3663:86:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 628,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3663:86:1"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 562,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 560,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3404:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 561,
2020-08-21 03:45:24 -07:00
"name": "len_signers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 484,
"src": "3408:11:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3404:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 630,
2020-08-21 03:45:24 -07:00
"initializationExpression": {
"assignments": [
2020-08-30 02:25:02 -07:00
557
2020-08-21 03:45:24 -07:00
],
"declarations": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 557,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "i",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 630,
"src": "3392:6:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 556,
2020-08-21 03:45:24 -07:00
"name": "uint",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3392:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 559,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 558,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3401:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3392:10:1"
2020-08-21 03:45:24 -07:00
},
"loopExpression": {
2020-08-09 09:16:52 -07:00
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 564,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2020-08-30 02:25:02 -07:00
"src": "3421:3:1",
2020-08-21 03:45:24 -07:00
"subExpression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 563,
2020-08-21 03:45:24 -07:00
"name": "i",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 557,
"src": "3421:1:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 565,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3421:3:1"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "ForStatement",
2020-08-30 02:25:02 -07:00
"src": "3387:373:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
632
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 632,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "action",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "3770:12:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 631,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3770:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 639,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 637,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 635,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3797:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 636,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3806:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"src": "3797:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 633,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3785:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 634,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "3785:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 638,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3785:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3770:38:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
641
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 641,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "payload",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 692,
"src": "3818:20:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 640,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "3818:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 655,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 646,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-21 03:45:24 -07:00
"isPure": false,
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 644,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3851:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 645,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3860:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
2020-08-30 02:25:02 -07:00
"src": "3851:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 653,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 647,
2020-08-21 03:45:24 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3863:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 648,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "3863:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"components": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 651,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 649,
2020-08-21 03:45:24 -07:00
"name": "offset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 491,
"src": "3877:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 650,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3886:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
2020-08-30 02:25:02 -07:00
"src": "3877:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
2020-08-30 02:25:02 -07:00
"id": 652,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
2020-08-30 02:25:02 -07:00
"src": "3876:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "3863:25:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 642,
2020-08-09 09:16:52 -07:00
"name": "vaa",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 457,
"src": "3841:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
2020-08-30 02:25:02 -07:00
"id": 643,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "slice",
"nodeType": "MemberAccess",
"referencedDeclaration": 55,
2020-08-30 02:25:02 -07:00
"src": "3841:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 654,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3841:48:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "3818:71:1"
2020-08-09 09:16:52 -07:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 658,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 656,
2020-08-09 09:16:52 -07:00
"name": "action",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 632,
"src": "3927:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30783031",
2020-08-30 02:25:02 -07:00
"id": 657,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "3937:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "0x01"
},
2020-08-30 02:25:02 -07:00
"src": "3927:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 673,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 671,
2020-08-09 09:16:52 -07:00
"name": "action",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 632,
"src": "4135:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30783130",
2020-08-30 02:25:02 -07:00
"id": 672,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4145:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_16_by_1",
"typeString": "int_const 16"
},
"value": "0x10"
},
2020-08-30 02:25:02 -07:00
"src": "4135:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
2020-08-30 02:25:02 -07:00
"id": 683,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4202:53:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "696e76616c69642056414120616374696f6e",
2020-08-30 02:25:02 -07:00
"id": 680,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4223:20:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_27b2ea60c72d322d8c69062a768962688555c44551176a8b0389f506128d4a66",
"typeString": "literal_string \"invalid VAA action\""
},
"value": "invalid VAA action"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_27b2ea60c72d322d8c69062a768962688555c44551176a8b0389f506128d4a66",
"typeString": "literal_string \"invalid VAA action\""
}
],
2020-08-30 02:25:02 -07:00
"id": 679,
2020-08-09 09:16:52 -07:00
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
2020-08-30 02:25:02 -07:00
"src": "4216:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 681,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4216:28:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 682,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4216:28:1"
2020-08-09 09:16:52 -07:00
}
]
},
2020-08-30 02:25:02 -07:00
"id": 684,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "4131:124:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 678,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4151:45:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 675,
2020-08-09 09:16:52 -07:00
"name": "payload",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 641,
"src": "4177:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2020-08-30 02:25:02 -07:00
"id": 674,
2020-08-09 09:16:52 -07:00
"name": "vaaTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 927,
"src": "4165:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 676,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4165:20:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 677,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4165:20:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
2020-08-30 02:25:02 -07:00
"id": 685,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "3923:332:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 670,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "3943:182:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-09 12:16:18 -07:00
"commonType": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
2020-08-30 02:25:02 -07:00
"id": 662,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 660,
2020-08-09 12:16:18 -07:00
"name": "vaa_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 477,
"src": "3965:22:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 661,
2020-08-09 12:16:18 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "3991:18:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "3965:44:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "6f6e6c79207468652063757272656e7420677561726469616e207365742063616e206368616e67652074686520677561726469616e20736574",
2020-08-30 02:25:02 -07:00
"id": 663,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4011:59:1",
2020-08-09 12:16:18 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_57f82f54015302e10ddc5f5b0f8eebea6891c2be815aa07f38e9301457bc8c6a",
"typeString": "literal_string \"only the current guardian set can change the guardian set\""
},
"value": "only the current guardian set can change the guardian set"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_57f82f54015302e10ddc5f5b0f8eebea6891c2be815aa07f38e9301457bc8c6a",
"typeString": "literal_string \"only the current guardian set can change the guardian set\""
}
],
2020-08-30 02:25:02 -07:00
"id": 659,
2020-08-09 12:16:18 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "3957:7:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 664,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "3957:114:1",
2020-08-09 12:16:18 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 665,
2020-08-09 12:16:18 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "3957:114:1"
2020-08-09 12:16:18 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 667,
2020-08-09 09:16:52 -07:00
"name": "payload",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 641,
"src": "4106:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2020-08-30 02:25:02 -07:00
"id": 666,
2020-08-09 09:16:52 -07:00
"name": "vaaUpdateGuardianSet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 792,
"src": "4085:20:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 668,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4085:29:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 669,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4085:29:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 690,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 686,
2020-08-09 09:16:52 -07:00
"name": "consumedVAAs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 407,
"src": "4300:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2020-08-30 02:25:02 -07:00
"id": 688,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 687,
2020-08-09 09:16:52 -07:00
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 499,
"src": "4313:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4300:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2020-08-30 02:25:02 -07:00
"id": 689,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4321:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2020-08-30 02:25:02 -07:00
"src": "4300:25:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-30 02:25:02 -07:00
"id": 691,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4300:25:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
"functionSelector": "3bc0aee6",
2020-08-30 02:25:02 -07:00
"id": 693,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
2020-08-21 03:45:24 -07:00
"modifiers": [
{
"arguments": null,
2020-08-30 02:25:02 -07:00
"id": 460,
2020-08-21 03:45:24 -07:00
"modifierName": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 459,
2020-08-21 03:45:24 -07:00
"name": "nonReentrant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3071,
"src": "2518:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2020-08-30 02:25:02 -07:00
"src": "2518:12:1"
2020-08-21 03:45:24 -07:00
}
],
2020-08-09 09:16:52 -07:00
"name": "submitVAA",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 458,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 457,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "vaa",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 693,
"src": "2486:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 456,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "2486:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "2476:34:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 461,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "2531:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "2458:1874:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 791,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4395:755:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
699
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 699,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "new_guardian_set_index",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4405:29:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 698,
2020-08-21 03:45:24 -07:00
"name": "uint32",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4405:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 704,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 702,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4451:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 700,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 695,
"src": "4437:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 701,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"memberName": "toUint32",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-21 03:45:24 -07:00
"referencedDeclaration": 163,
2020-08-30 02:25:02 -07:00
"src": "4437:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 703,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4437:16:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4405:48:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
706
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 706,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "len",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4463:9:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 705,
2020-08-21 03:45:24 -07:00
"name": "uint8",
2020-08-09 09:16:52 -07:00
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4463:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 711,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 709,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4488:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"value": "4"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 707,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 695,
"src": "4475:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 708,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-09 12:16:18 -07:00
"memberName": "toUint8",
2020-08-09 09:16:52 -07:00
"nodeType": "MemberAccess",
2020-08-09 12:16:18 -07:00
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "4475:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 710,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4475:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4463:27:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
716
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 716,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-21 03:45:24 -07:00
"name": "new_guardians",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4501:30:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
2020-08-21 03:45:24 -07:00
"storageLocation": "memory",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
2020-08-09 09:16:52 -07:00
},
"typeName": {
2020-08-21 03:45:24 -07:00
"baseType": {
2020-08-30 02:25:02 -07:00
"id": 714,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4501:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 715,
2020-08-21 03:45:24 -07:00
"length": null,
"nodeType": "ArrayTypeName",
2020-08-30 02:25:02 -07:00
"src": "4501:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 722,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
2020-08-09 09:16:52 -07:00
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 720,
2020-08-21 03:45:24 -07:00
"name": "len",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 706,
"src": "4548:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 719,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
2020-08-30 02:25:02 -07:00
"src": "4534:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function (uint256) pure returns (address[] memory)"
},
"typeName": {
"baseType": {
2020-08-30 02:25:02 -07:00
"id": 717,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4538:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 718,
2020-08-21 03:45:24 -07:00
"length": null,
"nodeType": "ArrayTypeName",
2020-08-30 02:25:02 -07:00
"src": "4538:9:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 721,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4534:18:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2020-08-09 09:16:52 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4501:51:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"body": {
2020-08-30 02:25:02 -07:00
"id": 750,
2020-08-21 03:45:24 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "4593:103:1",
2020-08-21 03:45:24 -07:00
"statements": [
2020-08-09 09:16:52 -07:00
{
2020-08-21 03:45:24 -07:00
"assignments": [
2020-08-30 02:25:02 -07:00
734
2020-08-21 03:45:24 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 734,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "addr",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 750,
"src": "4607:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 733,
2020-08-21 03:45:24 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4607:7:1",
2020-08-21 03:45:24 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
],
2020-08-30 02:25:02 -07:00
"id": 743,
2020-08-21 03:45:24 -07:00
"initialValue": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-21 03:45:24 -07:00
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 741,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 737,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4637:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 740,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 738,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4641:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3230",
2020-08-30 02:25:02 -07:00
"id": 739,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4645:2:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_20_by_1",
"typeString": "int_const 20"
},
"value": "20"
},
2020-08-30 02:25:02 -07:00
"src": "4641:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-30 02:25:02 -07:00
"src": "4637:10:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
2020-08-09 09:16:52 -07:00
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 735,
2020-08-21 03:45:24 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 695,
"src": "4622:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 736,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 82,
2020-08-30 02:25:02 -07:00
"src": "4622:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (address)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 742,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2020-08-21 03:45:24 -07:00
"kind": "functionCall",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4622:26:1",
2020-08-21 03:45:24 -07:00
"tryCall": false,
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_address",
"typeString": "address"
2020-08-09 12:16:18 -07:00
}
},
2020-08-21 03:45:24 -07:00
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4607:41:1"
2020-08-09 12:16:18 -07:00
},
{
2020-08-21 03:45:24 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 748,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 744,
2020-08-21 03:45:24 -07:00
"name": "new_guardians",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 716,
"src": "4662:13:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 746,
2020-08-21 03:45:24 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 745,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4676:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4662:16:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 747,
2020-08-21 03:45:24 -07:00
"name": "addr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 734,
"src": "4681:4:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "4662:23:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
2020-08-09 12:16:18 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 749,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4662:23:1"
2020-08-09 12:16:18 -07:00
}
2020-08-21 03:45:24 -07:00
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 12:16:18 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 729,
2020-08-09 12:16:18 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-21 03:45:24 -07:00
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 727,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4579:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 728,
2020-08-21 03:45:24 -07:00
"name": "len",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 706,
"src": "4583:3:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "4579:7:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_bool",
"typeString": "bool"
2020-08-09 12:16:18 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 751,
2020-08-21 03:45:24 -07:00
"initializationExpression": {
"assignments": [
2020-08-30 02:25:02 -07:00
724
2020-08-21 03:45:24 -07:00
],
"declarations": [
2020-08-09 12:16:18 -07:00
{
2020-08-21 03:45:24 -07:00
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 724,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "i",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 751,
"src": "4567:6:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2020-08-09 12:16:18 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-21 03:45:24 -07:00
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 723,
2020-08-21 03:45:24 -07:00
"name": "uint",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4567:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2020-08-21 03:45:24 -07:00
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 726,
2020-08-21 03:45:24 -07:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 725,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4576:1:1",
2020-08-21 03:45:24 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4567:10:1"
2020-08-21 03:45:24 -07:00
},
"loopExpression": {
2020-08-09 09:16:52 -07:00
"expression": {
2020-08-21 03:45:24 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 731,
2020-08-21 03:45:24 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2020-08-30 02:25:02 -07:00
"src": "4588:3:1",
2020-08-21 03:45:24 -07:00
"subExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 730,
2020-08-21 03:45:24 -07:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 724,
"src": "4588:1:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
2020-08-21 03:45:24 -07:00
},
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 732,
2020-08-21 03:45:24 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4588:3:1"
2020-08-09 09:16:52 -07:00
},
2020-08-21 03:45:24 -07:00
"nodeType": "ForStatement",
2020-08-30 02:25:02 -07:00
"src": "4562:134:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
753
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 753,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "old_guardian_set_index",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4706:29:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 752,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4706:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 755,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 754,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "4738:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4706:50:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 758,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 756,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "4766:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 757,
2020-08-09 09:16:52 -07:00
"name": "new_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 699,
"src": "4787:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "4766:43:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"id": 759,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4766:43:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
761
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 761,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "new_guardian_set",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 791,
"src": "4820:35:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
},
"typeName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 760,
2020-08-09 09:16:52 -07:00
"name": "GuardianSet",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "4820:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 766,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 763,
2020-08-21 03:45:24 -07:00
"name": "new_guardians",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 716,
"src": "4870:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2020-08-09 09:16:52 -07:00
}
},
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 764,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "4885:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
2020-08-09 09:16:52 -07:00
},
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
2020-08-30 02:25:02 -07:00
"id": 762,
2020-08-09 09:16:52 -07:00
"name": "GuardianSet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 371,
"src": "4858:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_struct$_GuardianSet_$371_storage_ptr_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(struct Wormhole.GuardianSet storage pointer)"
}
},
2020-08-30 02:25:02 -07:00
"id": 765,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "4858:29:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "4820:67:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 771,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 767,
2020-08-09 09:16:52 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "4897:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 769,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 768,
2020-08-09 09:16:52 -07:00
"name": "guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "4911:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4897:33:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 770,
2020-08-09 09:16:52 -07:00
"name": "new_guardian_set",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 761,
"src": "4933:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_memory_ptr",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet memory"
}
},
2020-08-30 02:25:02 -07:00
"src": "4897:52:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"id": 772,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4897:52:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 784,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 773,
2020-08-09 09:16:52 -07:00
"name": "guardian_sets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 399,
"src": "4959:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_mapping$_t_uint32_$_t_struct$_GuardianSet_$371_storage_$",
2020-08-09 09:16:52 -07:00
"typeString": "mapping(uint32 => struct Wormhole.GuardianSet storage ref)"
}
},
2020-08-30 02:25:02 -07:00
"id": 775,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 774,
2020-08-09 09:16:52 -07:00
"name": "old_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 753,
"src": "4973:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "4959:37:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_struct$_GuardianSet_$371_storage",
2020-08-09 09:16:52 -07:00
"typeString": "struct Wormhole.GuardianSet storage ref"
}
},
2020-08-30 02:25:02 -07:00
"id": 776,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberName": "expiration_time",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 370,
"src": "4959:53:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
2020-08-30 02:25:02 -07:00
"id": 783,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 779,
2020-08-09 09:16:52 -07:00
"name": "block",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -4,
2020-08-30 02:25:02 -07:00
"src": "5022:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_block",
"typeString": "block"
}
},
2020-08-30 02:25:02 -07:00
"id": 780,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "timestamp",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "5022:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 778,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "5015:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint32_$",
"typeString": "type(uint32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 777,
2020-08-09 09:16:52 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5015:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 781,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5015:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 782,
"name": "guardian_set_expirity",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 403,
"src": "5041:21:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "5015:47:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"src": "4959:103:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
2020-08-30 02:25:02 -07:00
"id": 785,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "4959:103:1"
2020-08-09 09:16:52 -07:00
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 787,
2020-08-21 03:45:24 -07:00
"name": "old_guardian_set_index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 753,
"src": "5100:22:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 788,
2020-08-21 03:45:24 -07:00
"name": "guardian_set_index",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 401,
"src": "5124:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
},
{
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 786,
2020-08-09 09:16:52 -07:00
"name": "LogGuardianSetChanged",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 377,
"src": "5078:21:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-21 03:45:24 -07:00
"typeIdentifier": "t_function_event_nonpayable$_t_uint32_$_t_uint32_$returns$__$",
"typeString": "function (uint32,uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 789,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5078:65:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 790,
2020-08-09 09:16:52 -07:00
"nodeType": "EmitStatement",
2020-08-30 02:25:02 -07:00
"src": "5073:70:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 792,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "vaaUpdateGuardianSet",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 696,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 695,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "data",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 792,
"src": "4368:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 694,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "4368:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "4367:19:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 697,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "4395:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "4338:812:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 926,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "5204:1399:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
798
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 798,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "source_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5257:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 797,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5257:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 803,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "34",
2020-08-30 02:25:02 -07:00
"id": 801,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5291:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
},
"value": "4"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_4_by_1",
"typeString": "int_const 4"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 799,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5278:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 800,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "5278:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 802,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5278:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5257:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
805
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 805,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5304:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 804,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5304:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 810,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "35",
2020-08-30 02:25:02 -07:00
"id": 808,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5338:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 806,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5325:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 807,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "5325:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 809,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5325:15:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5304:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
812
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 812,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5459:22:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 811,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5459:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 819,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_50_by_1",
"typeString": "int_const 50"
},
2020-08-30 02:25:02 -07:00
"id": 817,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3338",
2020-08-30 02:25:02 -07:00
"id": 815,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5499:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_38_by_1",
"typeString": "int_const 38"
},
"value": "38"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3132",
2020-08-30 02:25:02 -07:00
"id": 816,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5504:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_12_by_1",
"typeString": "int_const 12"
},
"value": "12"
},
2020-08-30 02:25:02 -07:00
"src": "5499:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_rational_50_by_1",
"typeString": "int_const 50"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_50_by_1",
"typeString": "int_const 50"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 813,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5484:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 814,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 82,
2020-08-30 02:25:02 -07:00
"src": "5484:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 818,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5484:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5459:48:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
821
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 821,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5518:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 820,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5518:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 826,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "3730",
2020-08-30 02:25:02 -07:00
"id": 824,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5551:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_70_by_1",
"typeString": "int_const 70"
},
"value": "70"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_70_by_1",
"typeString": "int_const 70"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 822,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5538:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 823,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "5538:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 825,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5538:16:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5518:36:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
828
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 828,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 926,
"src": "5618:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 827,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5618:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 833,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "313034",
2020-08-30 02:25:02 -07:00
"id": 831,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5650:3:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_104_by_1",
"typeString": "int_const 104"
2020-08-09 09:16:52 -07:00
},
"value": "104"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_104_by_1",
"typeString": "int_const 104"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 829,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5635:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 830,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint256",
"nodeType": "MemberAccess",
"referencedDeclaration": 271,
2020-08-30 02:25:02 -07:00
"src": "5635:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 832,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5635:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5618:36:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 837,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 835,
2020-08-09 09:16:52 -07:00
"name": "source_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 798,
"src": "5673:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 836,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 805,
"src": "5689:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "5673:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "73616d6520636861696e207472616e736665727320617265206e6f7420737570706f72746564",
2020-08-30 02:25:02 -07:00
"id": 838,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5703:40:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e4bc00dc2f1f687d1ecd0a604d39e62ed5081a3cef70cb858e5f565f9bb7da23",
"typeString": "literal_string \"same chain transfers are not supported\""
},
"value": "same chain transfers are not supported"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_e4bc00dc2f1f687d1ecd0a604d39e62ed5081a3cef70cb858e5f565f9bb7da23",
"typeString": "literal_string \"same chain transfers are not supported\""
}
],
2020-08-30 02:25:02 -07:00
"id": 834,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "5665:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 839,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5665:79:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 840,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "5665:79:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 844,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 842,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 805,
"src": "5762:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 843,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "5778:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "5762:24:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "7472616e73666572206d75737420626520696e636f6d696e67",
2020-08-30 02:25:02 -07:00
"id": 845,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5788:27:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cbd36b1271ec4677f9b6b0ce3c590e298ab53454b431f3898527107beeed1a5a",
"typeString": "literal_string \"transfer must be incoming\""
},
"value": "transfer must be incoming"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_cbd36b1271ec4677f9b6b0ce3c590e298ab53454b431f3898527107beeed1a5a",
"typeString": "literal_string \"transfer must be incoming\""
}
],
2020-08-30 02:25:02 -07:00
"id": 841,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "5754:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 846,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5754:62:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 847,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "5754:62:1"
2020-08-09 09:16:52 -07:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-30 02:25:02 -07:00
"id": 850,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 848,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 821,
"src": "5831:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 849,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "5846:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "5831:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
2020-08-30 02:25:02 -07:00
"id": 924,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "6452:145:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
908
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 908,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 924,
"src": "6466:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 907,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6466:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 915,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_rational_83_by_1",
"typeString": "int_const 83"
},
2020-08-30 02:25:02 -07:00
"id": 913,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3731",
2020-08-30 02:25:02 -07:00
"id": 911,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6505:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
},
"value": "71"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"argumentTypes": null,
"hexValue": "3132",
2020-08-30 02:25:02 -07:00
"id": 912,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6510:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_12_by_1",
"typeString": "int_const 12"
},
"value": "12"
},
2020-08-30 02:25:02 -07:00
"src": "6505:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_rational_83_by_1",
"typeString": "int_const 83"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_83_by_1",
"typeString": "int_const 83"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 909,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "6490:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 910,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 82,
2020-08-30 02:25:02 -07:00
"src": "6490:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 914,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6490:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6466:47:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 920,
2020-08-09 09:16:52 -07:00
"name": "target_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 812,
"src": "6563:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 921,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 828,
"src": "6579:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 917,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 908,
"src": "6535:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 916,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "6528:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract IERC20)"
}
},
2020-08-30 02:25:02 -07:00
"id": 918,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6528:21:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 919,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "safeTransfer",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2649,
"src": "6528:34:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$2615_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "function (contract IERC20,address,uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 922,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6528:58:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 923,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "6528:58:1"
2020-08-09 09:16:52 -07:00
}
]
},
2020-08-30 02:25:02 -07:00
"id": 925,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "5827:770:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 906,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "5856:590:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
852
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 852,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 906,
"src": "5870:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 851,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5870:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 857,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "3731",
2020-08-30 02:25:02 -07:00
"id": 855,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "5909:2:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
},
"value": "71"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_71_by_1",
"typeString": "int_const 71"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 853,
2020-08-09 09:16:52 -07:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "5894:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 854,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toBytes32",
"nodeType": "MemberAccess",
"referencedDeclaration": 298,
2020-08-30 02:25:02 -07:00
"src": "5894:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 856,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5894:18:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5870:42:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
859
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 859,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset_id",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 906,
"src": "5926:16:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 858,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5926:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 867,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 863,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 821,
"src": "5972:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 864,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 852,
"src": "5985:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 861,
2020-08-09 09:16:52 -07:00
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
2020-08-30 02:25:02 -07:00
"src": "5955:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
2020-08-30 02:25:02 -07:00
"id": 862,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "5955:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
2020-08-30 02:25:02 -07:00
"id": 865,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5955:44:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2020-08-30 02:25:02 -07:00
"id": 860,
2020-08-09 09:16:52 -07:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
2020-08-30 02:25:02 -07:00
"src": "5945:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 866,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "5945:55:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "5926:74:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
869
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 869,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "wrapped_asset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 906,
"src": "6092:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 868,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6092:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 873,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 870,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 411,
"src": "6116:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 872,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 871,
2020-08-09 09:16:52 -07:00
"name": "asset_id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 859,
"src": "6130:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "6116:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6092:47:1"
2020-08-09 09:16:52 -07:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2020-08-30 02:25:02 -07:00
"id": 879,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 874,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 869,
"src": "6157:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 877,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6182:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
2020-08-30 02:25:02 -07:00
"id": 876,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "6174:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 875,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6174:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6174:10:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
2020-08-30 02:25:02 -07:00
"src": "6157:27:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
2020-08-30 02:25:02 -07:00
"id": 897,
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "6153:212:1",
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 896,
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "6186:179:1",
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
881
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 881,
"mutability": "mutable",
"name": "asset_decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 896,
"src": "6204:20:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 880,
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6204:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 886,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "313033",
2020-08-30 02:25:02 -07:00
"id": 884,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "6240:3:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_103_by_1",
"typeString": "int_const 103"
},
"value": "103"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_103_by_1",
"typeString": "int_const 103"
}
],
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 882,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 794,
"src": "6227:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
2020-08-30 02:25:02 -07:00
"id": 883,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toUint8",
"nodeType": "MemberAccess",
"referencedDeclaration": 109,
2020-08-30 02:25:02 -07:00
"src": "6227:12:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$bound_to$_t_bytes_memory_ptr_$",
"typeString": "function (bytes memory,uint256) pure returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6227:17:1",
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6204:40:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 894,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 887,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 869,
"src": "6262:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 889,
2020-08-09 09:16:52 -07:00
"name": "asset_id",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 859,
"src": "6297:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 890,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 821,
"src": "6307:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 891,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 852,
"src": "6320:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 892,
"name": "asset_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 881,
"src": "6335:14:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 888,
2020-08-09 09:16:52 -07:00
"name": "deployWrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 970,
"src": "6278:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_uint8_$returns$_t_address_$",
"typeString": "function (bytes32,uint8,bytes32,uint8) returns (address)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 893,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6278:72:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "6262:88:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 895,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "6262:88:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 902,
2020-08-09 09:16:52 -07:00
"name": "target_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 812,
"src": "6412:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 903,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 828,
"src": "6428:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 899,
2020-08-09 09:16:52 -07:00
"name": "wrapped_asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 869,
"src": "6392:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 898,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "6379:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 900,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6379:27:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 901,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "mint",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1349,
"src": "6379:32:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256) external"
}
},
2020-08-30 02:25:02 -07:00
"id": 904,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6379:56:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 905,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "6379:56:1"
2020-08-09 09:16:52 -07:00
}
]
}
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 927,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "vaaTransfer",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 795,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 794,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "data",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 927,
"src": "5177:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 793,
2020-08-09 09:16:52 -07:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "5177:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "5176:19:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 796,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "5204:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "5156:1447:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 969,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "6740:808:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"assignments": [
2020-08-30 02:25:02 -07:00
941
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 941,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "targetBytes",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 969,
"src": "6918:19:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 940,
2020-08-09 09:16:52 -07:00
"name": "bytes20",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6918:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 946,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 944,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssetMaster",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 359,
"src": "6948:18:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 943,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "6940:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes20_$",
"typeString": "type(bytes20)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 942,
2020-08-09 09:16:52 -07:00
"name": "bytes20",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6940:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 945,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "6940:27:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "6918:49:1"
2020-08-09 09:16:52 -07:00
},
{
"AST": {
"nodeType": "YulBlock",
2020-08-30 02:25:02 -07:00
"src": "6986:348:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"nodeType": "YulVariableDeclaration",
2020-08-30 02:25:02 -07:00
"src": "7000:24:1",
2020-08-09 09:16:52 -07:00
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7019:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7013:5:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7013:11:1"
2020-08-09 09:16:52 -07:00
},
"variables": [
{
"name": "clone",
"nodeType": "YulTypedName",
2020-08-30 02:25:02 -07:00
"src": "7004:5:1",
2020-08-09 09:16:52 -07:00
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7044:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7051:66:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7037:6:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7037:81:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7037:81:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7142:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7149:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x14"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7138:3:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7138:16:1"
2020-08-09 09:16:52 -07:00
},
{
"name": "targetBytes",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7156:11:1"
2020-08-09 09:16:52 -07:00
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7131:6:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7131:37:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7131:37:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7192:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7199:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x28"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7188:3:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7188:16:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7206:66:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7181:6:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7181:92:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7181:92:1"
2020-08-09 09:16:52 -07:00
},
{
"nodeType": "YulAssignment",
2020-08-30 02:25:02 -07:00
"src": "7286:38:1",
2020-08-09 09:16:52 -07:00
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7303:1:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0"
},
{
"name": "clone",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7306:5:1"
2020-08-09 09:16:52 -07:00
},
{
"kind": "number",
"nodeType": "YulLiteral",
2020-08-30 02:25:02 -07:00
"src": "7313:4:1",
2020-08-09 09:16:52 -07:00
"type": "",
"value": "0x37"
},
{
"name": "seed",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7319:4:1"
2020-08-09 09:16:52 -07:00
}
],
"functionName": {
"name": "create2",
2020-08-09 09:16:52 -07:00
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7295:7:1"
2020-08-09 09:16:52 -07:00
},
"nodeType": "YulFunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7295:29:1"
2020-08-09 09:16:52 -07:00
},
"variableNames": [
{
"name": "asset",
"nodeType": "YulIdentifier",
2020-08-30 02:25:02 -07:00
"src": "7286:5:1"
2020-08-09 09:16:52 -07:00
}
]
}
]
},
"evmVersion": "istanbul",
"externalReferences": [
{
2020-08-30 02:25:02 -07:00
"declaration": 938,
"isOffset": false,
"isSlot": false,
2020-08-30 02:25:02 -07:00
"src": "7286:5:1",
"valueSize": 1
},
{
2020-08-30 02:25:02 -07:00
"declaration": 929,
2020-08-09 09:16:52 -07:00
"isOffset": false,
"isSlot": false,
2020-08-30 02:25:02 -07:00
"src": "7319:4:1",
2020-08-09 09:16:52 -07:00
"valueSize": 1
},
{
2020-08-30 02:25:02 -07:00
"declaration": 941,
2020-08-09 09:16:52 -07:00
"isOffset": false,
"isSlot": false,
2020-08-30 02:25:02 -07:00
"src": "7156:11:1",
2020-08-09 09:16:52 -07:00
"valueSize": 1
}
],
2020-08-30 02:25:02 -07:00
"id": 947,
2020-08-09 09:16:52 -07:00
"nodeType": "InlineAssembly",
2020-08-30 02:25:02 -07:00
"src": "6977:357:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 952,
2020-08-09 09:16:52 -07:00
"name": "token_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 931,
"src": "7403:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 953,
2020-08-09 09:16:52 -07:00
"name": "token_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 933,
"src": "7416:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 954,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 935,
"src": "7431:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 949,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 938,
"src": "7385:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 948,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "7372:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 950,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7372:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 951,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "initialize",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1328,
"src": "7372:30:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_uint8_$_t_bytes32_$_t_uint8_$returns$__$",
"typeString": "function (uint8,bytes32,uint8) external"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 955,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7372:68:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 956,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7372:68:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 961,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 957,
2020-08-09 09:16:52 -07:00
"name": "wrappedAssets",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 411,
"src": "7476:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
}
},
2020-08-30 02:25:02 -07:00
"id": 959,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 958,
2020-08-09 09:16:52 -07:00
"name": "seed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 929,
"src": "7490:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "7476:19:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 960,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 938,
"src": "7498:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"src": "7476:27:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2020-08-30 02:25:02 -07:00
"id": 962,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7476:27:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 967,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 963,
2020-08-09 09:16:52 -07:00
"name": "isWrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 415,
"src": "7513:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2020-08-30 02:25:02 -07:00
"id": 965,
2020-08-09 09:16:52 -07:00
"indexExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 964,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 938,
"src": "7528:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2020-08-30 02:25:02 -07:00
"src": "7513:21:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2020-08-30 02:25:02 -07:00
"id": 966,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "7537:4:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2020-08-30 02:25:02 -07:00
"src": "7513:28:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2020-08-30 02:25:02 -07:00
"id": 968,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7513:28:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 970,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "deployWrappedAsset",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 936,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 929,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "seed",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6637:12:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 928,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6637:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 931,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6651:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 930,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6651:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 933,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "token_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6670:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 932,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6670:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 935,
"mutability": "mutable",
"name": "decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6693:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 934,
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6693:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "6636:72:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 939,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 938,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 970,
"src": "6726:13:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 937,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "6726:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "6725:15:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "6609:939:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1182,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "7750:1642:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 990,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 988,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "7768:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 989,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "7778:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "7768:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "616d6f756e74206d757374206e6f742062652030",
2020-08-30 02:25:02 -07:00
"id": 991,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "7781:22:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
},
"value": "amount must not be 0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
}
],
2020-08-30 02:25:02 -07:00
"id": 987,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "7760:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 992,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7760:44:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 993,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7760:44:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
995
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 995,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1182,
"src": "7815:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 994,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7815:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 997,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 996,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "7835:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "7815:28:1"
2020-08-09 09:16:52 -07:00
},
{
"assignments": [
2020-08-30 02:25:02 -07:00
999
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 999,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset_address",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1182,
"src": "7853:21:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 998,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7853:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"value": null,
"visibility": "internal"
}
],
"id": 1000,
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
"src": "7853:21:1"
},
{
"assignments": [
1002
],
"declarations": [
{
"constant": false,
"id": 1002,
"mutability": "mutable",
"name": "decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1182,
"src": "7884:14:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1001,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "7884:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 1008,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1004,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "7907:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1003,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2537,
"src": "7901:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20_$2537_$",
"typeString": "type(contract ERC20)"
}
},
"id": 1005,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7901:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$2537",
"typeString": "contract ERC20"
}
},
"id": 1006,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "decimals",
"nodeType": "MemberAccess",
"referencedDeclaration": 2113,
"src": "7901:21:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
"id": 1007,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "7901:23:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "7884:40:1"
},
{
"condition": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 1009,
"name": "isWrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 415,
"src": "7939:14:1",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
"id": 1011,
"indexExpression": {
"argumentTypes": null,
"id": 1010,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "7954:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "7939:21:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 1162,
"nodeType": "Block",
"src": "8161:1086:1",
"statements": [
{
"assignments": [
1039
],
"declarations": [
{
"constant": false,
"id": 1039,
"mutability": "mutable",
"name": "balanceBefore",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1162,
"src": "8175:21:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1038,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8175:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 1049,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1046,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
"src": "8231:4:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Wormhole_$1254",
"typeString": "contract Wormhole"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Wormhole_$1254",
"typeString": "contract Wormhole"
}
],
"id": 1045,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8223:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 1044,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "8223:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1047,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8223:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1041,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "8206:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1040,
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2615,
"src": "8199:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
"typeString": "type(contract IERC20)"
}
},
"id": 1042,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8199:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$2615",
"typeString": "contract IERC20"
}
},
"id": 1043,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 2554,
"src": "8199:23:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
"id": 1048,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8199:38:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "8175:62:1"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1054,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "8282:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 1055,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8282:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1058,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
"src": "8302:4:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Wormhole_$1254",
"typeString": "contract Wormhole"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_Wormhole_$1254",
"typeString": "contract Wormhole"
}
],
"id": 1057,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8294:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 1056,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "8294:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1059,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8294:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 1060,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8309:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1051,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "8258:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1050,
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2615,
"src": "8251:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
"typeString": "type(contract IERC20)"
}
},
"id": 1052,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8251:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$2615",
"typeString": "contract IERC20"
}
},
"id": 1053,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "safeTransferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 2674,
"src": "8251:30:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$2615_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$2615_$",
"typeString": "function (contract IERC20,address,address,uint256)"
}
},
"id": 1061,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8251:65:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1062,
"nodeType": "ExpressionStatement",
"src": "8251:65:1"
},
2020-08-09 09:16:52 -07:00
{
"assignments": [
2020-08-30 02:25:02 -07:00
1064
2020-08-09 09:16:52 -07:00
],
"declarations": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1064,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
2020-08-30 02:25:02 -07:00
"name": "balanceAfter",
2020-08-09 09:16:52 -07:00
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1162,
"src": "8330:20:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1063,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8330:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"id": 1074,
2020-08-09 09:16:52 -07:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1071,
2020-08-09 09:16:52 -07:00
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -28,
2020-08-30 02:25:02 -07:00
"src": "8385:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
}
],
"expression": {
"argumentTypes": [
{
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_Wormhole_$1254",
2020-08-09 09:16:52 -07:00
"typeString": "contract Wormhole"
}
],
2020-08-30 02:25:02 -07:00
"id": 1070,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "8377:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1069,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "8377:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1072,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8377:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1066,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8360:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1065,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "8353:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_IERC20_$2615_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract IERC20)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1067,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8353:13:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 1068,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2554,
"src": "8353:23:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view external returns (uint256)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1073,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8353:38:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
2020-08-30 02:25:02 -07:00
"src": "8330:61:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1080,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1075,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8596:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1078,
"name": "balanceBefore",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1039,
"src": "8622:13:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-09 09:16:52 -07:00
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1076,
"name": "balanceAfter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1064,
"src": "8605:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1077,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sub",
"nodeType": "MemberAccess",
"referencedDeclaration": 1880,
"src": "8605:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 1079,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8605:31:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8596:40:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1081,
"nodeType": "ExpressionStatement",
"src": "8596:40:1"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1084,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1082,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "8711:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1083,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8722:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "8711:12:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 1130,
"nodeType": "IfStatement",
"src": "8707:339:1",
"trueBody": {
"id": 1129,
"nodeType": "Block",
"src": "8725:321:1",
"statements": [
{
"assignments": [
1086
],
"declarations": [
{
"constant": false,
"id": 1086,
"mutability": "mutable",
"name": "original_amount",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1129,
"src": "8743:23:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1085,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8743:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 1088,
"initialValue": {
"argumentTypes": null,
"id": 1087,
"name": "amount",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "8769:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"nodeType": "VariableDeclarationStatement",
"src": "8743:32:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-30 02:25:02 -07:00
"expression": {
"argumentTypes": null,
"id": 1101,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1089,
"name": "amount",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "8793:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1099,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1092,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8813:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1097,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1095,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "8827:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1096,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8838:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "8827:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1094,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8819:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1093,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8819:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1098,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8819:21:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8813:27:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1090,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 974,
"src": "8802:6:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1091,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "div",
"nodeType": "MemberAccess",
"referencedDeclaration": 1960,
"src": "8802:10:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 1100,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8802:39:1",
"tryCall": false,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
"src": "8793:48:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1102,
"nodeType": "ExpressionStatement",
"src": "8793:48:1"
2020-08-09 09:16:52 -07:00
},
{
2020-08-30 02:25:02 -07:00
"condition": {
"argumentTypes": null,
"id": 1103,
"name": "refund_dust",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 982,
"src": "8864:11:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"falseBody": null,
"id": 1124,
"nodeType": "IfStatement",
"src": "8860:141:1",
"trueBody": {
"id": 1123,
"nodeType": "Block",
"src": "8877:124:1",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1108,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "8921:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 1109,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "8921:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1119,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1112,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8953:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 1115,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "8967:8:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1116,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8978:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "8967:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1114,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8959:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1113,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8959:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1118,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8959:21:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "8953:27:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1110,
"name": "original_amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1086,
"src": "8933:15:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1111,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "mod",
"nodeType": "MemberAccess",
"referencedDeclaration": 2005,
"src": "8933:19:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
}
},
"id": 1120,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8933:48:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1105,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "8905:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1104,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2537,
"src": "8899:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20_$2537_$",
"typeString": "type(contract ERC20)"
}
},
"id": 1106,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8899:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$2537",
"typeString": "contract ERC20"
}
},
"id": 1107,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 2158,
"src": "8899:21:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) external returns (bool)"
}
},
"id": 1121,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "8899:83:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1122,
"nodeType": "ExpressionStatement",
"src": "8899:83:1"
}
]
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
{
"expression": {
"argumentTypes": null,
"id": 1127,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1125,
"name": "decimals",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1002,
"src": "9019:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "39",
"id": 1126,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9030:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "9019:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint8",
"typeString": "uint8"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1128,
"nodeType": "ExpressionStatement",
"src": "9019:12:1"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
]
}
2020-08-09 09:16:52 -07:00
},
{
2020-08-30 02:25:02 -07:00
"expression": {
2020-08-09 09:16:52 -07:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"id": 1148,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
2020-08-30 02:25:02 -07:00
"leftExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"hexValue": "3130",
"id": 1134,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9085:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 1143,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1138,
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 972,
"src": "9105:5:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1137,
"name": "ERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2537,
"src": "9099:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20_$2537_$",
"typeString": "type(contract ERC20)"
}
},
"id": 1139,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9099:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$2537",
"typeString": "contract ERC20"
}
},
"id": 1140,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "decimals",
"nodeType": "MemberAccess",
"referencedDeclaration": 2113,
"src": "9099:21:1",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
"id": 1141,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9099:23:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"argumentTypes": null,
"hexValue": "39",
"id": 1142,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9125:1:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_9_by_1",
"typeString": "int_const 9"
},
"value": "9"
},
"src": "9099:27:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 1136,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "9091:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "9091:7:1",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 1144,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9091:36:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "9085:42:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 1132,
"name": "balanceAfter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1064,
"src": "9068:12:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1133,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "div",
"nodeType": "MemberAccess",
"referencedDeclaration": 1960,
"src": "9068:16:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
"typeString": "function (uint256,uint256) pure returns (uint256)"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
"id": 1146,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "9068:60:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"argumentTypes": null,
"id": 1147,
"name": "MAX_UINT64",
2020-08-09 09:16:52 -07:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 357,
"src": "9132:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_uint64",
"typeString": "uint64"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"src": "9068:74:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "6272696467652062616c616e636520776f756c6420657863656564206d6178696d756d",
"id": 1149,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
2020-08-30 02:25:02 -07:00
"isPure": true,
"kind": "string",
2020-08-09 09:16:52 -07:00
"lValueRequested": false,
2020-08-30 02:25:02 -07:00
"nodeType": "Literal",
"src": "9144:37:1",
"subdenomination": null,
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_stringliteral_173119466b5178b8ca47cb473e247f7a9a678958b1d751b4cef80e7a8162cdd4",
"typeString": "literal_string \"bridge balance would exceed maximum\""
},
"value": "bridge balance would exceed maximum"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_173119466b5178b8ca47cb473e247f7a9a678958b1d751b4cef80e7a8162cdd4",
"typeString": "literal_string \"bridge balance would exceed maximum\""
2020-08-09 09:16:52 -07:00
}
2020-08-30 02:25:02 -07:00
],
"id": 1131,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "9060:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1150,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9060:122:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1151,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9060:122:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1160,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1152,
2020-08-09 09:16:52 -07:00
"name": "asset_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 999,
"src": "9197:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1157,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "9229:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1156,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9221:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1155,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9221:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1158,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9221:14:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1154,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9213:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1153,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9213:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1159,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9213:23:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"src": "9197:39:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"id": 1161,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9197:39:1"
2020-08-09 09:16:52 -07:00
}
]
},
2020-08-30 02:25:02 -07:00
"id": 1163,
2020-08-09 09:16:52 -07:00
"nodeType": "IfStatement",
2020-08-30 02:25:02 -07:00
"src": "7935:1312:1",
2020-08-09 09:16:52 -07:00
"trueBody": {
2020-08-30 02:25:02 -07:00
"id": 1037,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "7962:193:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1016,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "8001:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1017,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "8001:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1018,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "8013:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1013,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "7989:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1012,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "7976:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1014,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7976:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 1015,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "burn",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1370,
"src": "7976:24:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256) external"
}
},
2020-08-30 02:25:02 -07:00
"id": 1019,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "7976:44:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1020,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "7976:44:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1027,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1021,
2020-08-09 09:16:52 -07:00
"name": "asset_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 995,
"src": "8034:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1023,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8061:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1022,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "8048:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1024,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8048:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 1025,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "assetChain",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1277,
"src": "8048:30:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1026,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8048:32:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"src": "8034:46:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2020-08-30 02:25:02 -07:00
"id": 1028,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "8034:46:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1035,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1029,
2020-08-09 09:16:52 -07:00
"name": "asset_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 999,
"src": "8094:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1031,
2020-08-09 09:16:52 -07:00
"name": "asset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 972,
"src": "8123:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1030,
2020-08-09 09:16:52 -07:00
"name": "WrappedAsset",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1811,
"src": "8110:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WrappedAsset_$1811_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WrappedAsset)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1032,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8110:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WrappedAsset_$1811",
2020-08-09 09:16:52 -07:00
"typeString": "contract WrappedAsset"
}
},
2020-08-30 02:25:02 -07:00
"id": 1033,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "assetAddress",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1279,
"src": "8110:32:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
"typeString": "function () view external returns (bytes32)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1034,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "8110:34:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"src": "8094:50:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-30 02:25:02 -07:00
"id": 1036,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "8094:50:1"
2020-08-09 09:16:52 -07:00
}
]
}
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1165,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 978,
"src": "9278:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1166,
2020-08-09 09:16:52 -07:00
"name": "asset_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 995,
"src": "9292:11:1",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1167,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1002,
"src": "9305:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1168,
2020-08-09 09:16:52 -07:00
"name": "asset_address",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 999,
"src": "9315:13:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1173,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9346:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1174,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9346:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
2020-08-30 02:25:02 -07:00
"id": 1172,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9338:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1171,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9338:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1175,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9338:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1170,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9330:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1169,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9330:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1176,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9330:28:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1177,
2020-08-09 12:16:18 -07:00
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 976,
"src": "9360:9:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1178,
2020-08-09 09:16:52 -07:00
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 974,
"src": "9371:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-21 03:45:24 -07:00
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1179,
2020-08-21 03:45:24 -07:00
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 980,
"src": "9379:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
2020-08-09 09:16:52 -07:00
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-21 03:45:24 -07:00
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 1164,
2020-08-09 09:16:52 -07:00
"name": "LogTokensLocked",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 395,
"src": "9262:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint8_$_t_uint8_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint32_$returns$__$",
"typeString": "function (uint8,uint8,uint8,bytes32,bytes32,bytes32,uint256,uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1180,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9262:123:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1181,
2020-08-09 09:16:52 -07:00
"nodeType": "EmitStatement",
2020-08-30 02:25:02 -07:00
"src": "9257:128:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"functionSelector": "70713960",
"id": 1183,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
2020-08-21 03:45:24 -07:00
"modifiers": [
{
"arguments": null,
2020-08-30 02:25:02 -07:00
"id": 985,
2020-08-21 03:45:24 -07:00
"modifierName": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 984,
2020-08-21 03:45:24 -07:00
"name": "nonReentrant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3071,
"src": "7737:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2020-08-30 02:25:02 -07:00
"src": "7737:12:1"
2020-08-21 03:45:24 -07:00
}
],
2020-08-09 09:16:52 -07:00
"name": "lockAssets",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 983,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 972,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "asset",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7583:13:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 971,
2020-08-09 09:16:52 -07:00
"name": "address",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7583:7:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 974,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7606:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 973,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7606:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 976,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "recipient",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7630:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 975,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7630:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 978,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7657:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 977,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7657:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
2020-08-21 03:45:24 -07:00
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 980,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "nonce",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1183,
"src": "7685:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 979,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "7685:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-30 02:25:02 -07:00
},
{
"constant": false,
"id": 982,
"mutability": "mutable",
"name": "refund_dust",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1183,
"src": "7707:16:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 981,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "7707:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "7573:156:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 986,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "7750:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "7554:1838:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1236,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "9526:334:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2020-08-30 02:25:02 -07:00
"id": 1198,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1195,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9544:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1196,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9544:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2020-08-30 02:25:02 -07:00
"id": 1197,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9557:1:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2020-08-30 02:25:02 -07:00
"src": "9544:14:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "616d6f756e74206d757374206e6f742062652030",
2020-08-30 02:25:02 -07:00
"id": 1199,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9560:22:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
},
"value": "amount must not be 0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c3143f59cb0e580c5873dd9b2860385487237680573a0afd40e8c0860e76a5d3",
"typeString": "literal_string \"amount must not be 0\""
}
],
2020-08-30 02:25:02 -07:00
"id": 1194,
2020-08-09 09:16:52 -07:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
2020-08-30 02:25:02 -07:00
"src": "9536:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 1200,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9536:47:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1201,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9536:47:1"
2020-08-09 09:16:52 -07:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1203,
2020-08-09 09:16:52 -07:00
"name": "WETHAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 365,
"src": "9632:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1202,
2020-08-09 09:16:52 -07:00
"name": "WETH",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1265,
"src": "9627:4:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_type$_t_contract$_WETH_$1265_$",
2020-08-09 09:16:52 -07:00
"typeString": "type(contract WETH)"
}
},
2020-08-30 02:25:02 -07:00
"id": 1204,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9627:17:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_WETH_$1265",
2020-08-09 09:16:52 -07:00
"typeString": "contract WETH"
}
},
2020-08-30 02:25:02 -07:00
"id": 1205,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "deposit",
"nodeType": "MemberAccess",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1259,
"src": "9627:25:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$__$returns$__$",
"typeString": "function () payable external"
}
},
2020-08-30 02:25:02 -07:00
"id": 1208,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"names": [
"value"
],
"nodeType": "FunctionCallOptions",
"options": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1206,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9661:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1207,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9661:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
2020-08-30 02:25:02 -07:00
"src": "9627:44:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_payable$__$returns$__$value",
"typeString": "function () payable external"
}
},
2020-08-30 02:25:02 -07:00
"id": 1209,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9627:46:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1210,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9627:46:1"
2020-08-09 09:16:52 -07:00
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1212,
2020-08-09 09:16:52 -07:00
"name": "target_chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1187,
"src": "9736:12:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1213,
2020-08-09 09:16:52 -07:00
"name": "CHAIN_ID",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 362,
"src": "9750:8:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"hexValue": "3138",
2020-08-30 02:25:02 -07:00
"id": 1214,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9760:2:1",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
"value": "18"
},
2020-08-09 09:16:52 -07:00
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1219,
2020-08-09 09:16:52 -07:00
"name": "WETHAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 365,
"src": "9780:11:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
2020-08-30 02:25:02 -07:00
"id": 1218,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9772:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1217,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9772:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1220,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9772:20:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1216,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9764:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1215,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9764:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1221,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9764:29:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1226,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9811:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1227,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9811:10:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
2020-08-30 02:25:02 -07:00
"id": 1225,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9803:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1224,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9803:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1228,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9803:19:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2020-08-30 02:25:02 -07:00
"id": 1223,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2020-08-30 02:25:02 -07:00
"src": "9795:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1222,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9795:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
2020-08-30 02:25:02 -07:00
"id": 1229,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9795:28:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-09 12:16:18 -07:00
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1230,
2020-08-09 12:16:18 -07:00
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1185,
"src": "9825:9:1",
2020-08-09 12:16:18 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2020-08-09 09:16:52 -07:00
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1231,
2020-08-09 09:16:52 -07:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
2020-08-30 02:25:02 -07:00
"src": "9836:3:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2020-08-30 02:25:02 -07:00
"id": 1232,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2020-08-30 02:25:02 -07:00
"src": "9836:9:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2020-08-21 03:45:24 -07:00
},
{
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1233,
2020-08-21 03:45:24 -07:00
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 1189,
"src": "9847:5:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
2020-08-09 09:16:52 -07:00
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
2020-08-09 09:16:52 -07:00
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2020-08-21 03:45:24 -07:00
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"id": 1211,
2020-08-09 09:16:52 -07:00
"name": "LogTokensLocked",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 395,
"src": "9720:15:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint8_$_t_uint8_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint32_$returns$__$",
"typeString": "function (uint8,uint8,uint8,bytes32,bytes32,bytes32,uint256,uint32)"
2020-08-09 09:16:52 -07:00
}
},
2020-08-30 02:25:02 -07:00
"id": 1234,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9720:133:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1235,
2020-08-09 09:16:52 -07:00
"nodeType": "EmitStatement",
2020-08-30 02:25:02 -07:00
"src": "9715:138:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-21 03:45:24 -07:00
"functionSelector": "58d62e46",
2020-08-30 02:25:02 -07:00
"id": 1237,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "function",
2020-08-21 03:45:24 -07:00
"modifiers": [
{
"arguments": null,
2020-08-30 02:25:02 -07:00
"id": 1192,
2020-08-21 03:45:24 -07:00
"modifierName": {
"argumentTypes": null,
2020-08-30 02:25:02 -07:00
"id": 1191,
2020-08-21 03:45:24 -07:00
"name": "nonReentrant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 3071,
"src": "9513:12:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2020-08-30 02:25:02 -07:00
"src": "9513:12:1"
2020-08-21 03:45:24 -07:00
}
],
2020-08-09 09:16:52 -07:00
"name": "lockETH",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1190,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1185,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "recipient",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1237,
"src": "9424:17:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1184,
2020-08-09 09:16:52 -07:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9424:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1187,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "target_chain",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1237,
"src": "9451:18:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1186,
2020-08-09 09:16:52 -07:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9451:5:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
2020-08-21 03:45:24 -07:00
},
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1189,
2020-08-21 03:45:24 -07:00
"mutability": "mutable",
"name": "nonce",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1237,
"src": "9479:12:1",
2020-08-21 03:45:24 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1188,
2020-08-21 03:45:24 -07:00
"name": "uint32",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "9479:6:1",
2020-08-21 03:45:24 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "9414:83:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1193,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9526:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "9398:462:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "public"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1244,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "9894:57:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "706c6561736520757365206c6f636b45544820746f207472616e736665722045544820746f20536f6c616e61",
2020-08-30 02:25:02 -07:00
"id": 1241,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9902:46:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
},
"value": "please use lockETH to transfer ETH to Solana"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
}
],
2020-08-30 02:25:02 -07:00
"id": 1240,
2020-08-09 09:16:52 -07:00
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
2020-08-30 02:25:02 -07:00
"src": "9895:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 1242,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9895:54:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1243,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9895:54:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 1245,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "fallback",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1238,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9874:2:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1239,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9894:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "9866:85:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
2020-08-30 02:25:02 -07:00
"id": 1252,
2020-08-09 09:16:52 -07:00
"nodeType": "Block",
2020-08-30 02:25:02 -07:00
"src": "9984:57:1",
2020-08-09 09:16:52 -07:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "706c6561736520757365206c6f636b45544820746f207472616e736665722045544820746f20536f6c616e61",
2020-08-30 02:25:02 -07:00
"id": 1249,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2020-08-30 02:25:02 -07:00
"src": "9992:46:1",
2020-08-09 09:16:52 -07:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
},
"value": "please use lockETH to transfer ETH to Solana"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_414957345d33678f377f3c67303c55f683553546e00bb5a8689e656385e6efb2",
"typeString": "literal_string \"please use lockETH to transfer ETH to Solana\""
}
],
2020-08-30 02:25:02 -07:00
"id": 1248,
2020-08-09 09:16:52 -07:00
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
2020-08-30 02:25:02 -07:00
"src": "9985:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
2020-08-30 02:25:02 -07:00
"id": 1250,
2020-08-09 09:16:52 -07:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2020-08-30 02:25:02 -07:00
"src": "9985:54:1",
2020-08-09 09:16:52 -07:00
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2020-08-30 02:25:02 -07:00
"id": 1251,
2020-08-09 09:16:52 -07:00
"nodeType": "ExpressionStatement",
2020-08-30 02:25:02 -07:00
"src": "9985:54:1"
2020-08-09 09:16:52 -07:00
}
]
},
"documentation": null,
2020-08-30 02:25:02 -07:00
"id": 1253,
2020-08-09 09:16:52 -07:00
"implemented": true,
"kind": "receive",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1246,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9964:2:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1247,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "9984:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1254,
"src": "9957:84:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
}
],
2020-08-30 02:25:02 -07:00
"scope": 1266,
"src": "502:9541:1"
2020-08-09 09:16:52 -07:00
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2020-08-30 02:25:02 -07:00
"id": 1255,
2020-08-09 09:16:52 -07:00
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
2020-08-30 02:25:02 -07:00
"referencedDeclaration": 2615,
"src": "10064:6:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
2020-08-30 02:25:02 -07:00
"typeIdentifier": "t_contract$_IERC20_$2615",
2020-08-09 09:16:52 -07:00
"typeString": "contract IERC20"
}
},
2020-08-30 02:25:02 -07:00
"id": 1256,
2020-08-09 09:16:52 -07:00
"nodeType": "InheritanceSpecifier",
2020-08-30 02:25:02 -07:00
"src": "10064:6:1"
2020-08-09 09:16:52 -07:00
}
],
"contractDependencies": [
2020-08-30 02:25:02 -07:00
2615
2020-08-09 09:16:52 -07:00
],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
2020-08-30 02:25:02 -07:00
"id": 1265,
2020-08-09 09:16:52 -07:00
"linearizedBaseContracts": [
2020-08-30 02:25:02 -07:00
1265,
2615
2020-08-09 09:16:52 -07:00
],
"name": "WETH",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"functionSelector": "d0e30db0",
2020-08-30 02:25:02 -07:00
"id": 1259,
2020-08-09 09:16:52 -07:00
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "deposit",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1257,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "10093:2:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1258,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "10112:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1265,
"src": "10077:36:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"functionSelector": "2e1a7d4d",
2020-08-30 02:25:02 -07:00
"id": 1264,
2020-08-09 09:16:52 -07:00
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "withdraw",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
2020-08-30 02:25:02 -07:00
"id": 1262,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2020-08-30 02:25:02 -07:00
"id": 1261,
2020-08-09 09:16:52 -07:00
"mutability": "mutable",
"name": "amount",
"nodeType": "VariableDeclaration",
"overrides": null,
2020-08-30 02:25:02 -07:00
"scope": 1264,
"src": "10137:14:1",
2020-08-09 09:16:52 -07:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2020-08-30 02:25:02 -07:00
"id": 1260,
2020-08-09 09:16:52 -07:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2020-08-30 02:25:02 -07:00
"src": "10137:7:1",
2020-08-09 09:16:52 -07:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2020-08-30 02:25:02 -07:00
"src": "10136:16:1"
2020-08-09 09:16:52 -07:00
},
"returnParameters": {
2020-08-30 02:25:02 -07:00
"id": 1263,
2020-08-09 09:16:52 -07:00
"nodeType": "ParameterList",
"parameters": [],
2020-08-30 02:25:02 -07:00
"src": "10161:0:1"
2020-08-09 09:16:52 -07:00
},
2020-08-30 02:25:02 -07:00
"scope": 1265,
"src": "10119:43:1",
2020-08-09 09:16:52 -07:00
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
2020-08-30 02:25:02 -07:00
"scope": 1266,
"src": "10046:118:1"
2020-08-09 09:16:52 -07:00
}
],
2020-08-30 02:25:02 -07:00
"src": "103:10062:1"
2020-08-09 09:16:52 -07:00
},
"compiler": {
"name": "solc",
"version": "0.6.12+commit.27d51765.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.2.3",
2020-08-30 02:25:02 -07:00
"updatedAt": "2020-08-30T09:23:52.322Z",
2020-08-09 09:16:52 -07:00
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}