UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 95.5 kB
{"abi":[{"type":"constructor","inputs":[{"name":"fiatToken","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferWithMultipleAuthorizations","inputs":[{"name":"params","type":"bytes","internalType":"bytes"},{"name":"signatures","type":"bytes","internalType":"bytes"},{"name":"atomic","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"TransferFailed","inputs":[{"name":"authorizer","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516109c83803806109c88339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610963806100656000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e5c880f014610030575b600080fd5b6100f46004803603606081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184600183028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460018302840111640100000000831117156100e757600080fd5b9193509150351515610108565b604080519115158252519081900360200190f35b600060a8850480610164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806109346023913960400191505060405180910390fd5b60a8810286146101bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806108dc602a913960400191505060405180910390fd5b80604185041480156101d357506041810284145b610228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610906602e913960400191505060405180910390fd5b6000805b8281101561074a57600060a8820290506000604183029050606061028a8c8c8590866028019261025e939291906108b3565b604051602001808383808284378083019250505092505050604051602081830303815290604052610756565b905060608c8c856028019060a88701926102a6939291906108b3565b604051602001808383808284378083019250505092505050604051602081830303815290604052905060008b8b858181106102dd57fe5b9050013560f81c60f81b60f81c905060608c8c86600101906041880192610306939291906108b3565b60405160200180838380828437808301925050509250505060405160208183030381529060405290506000606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3ee160e60e01b878787604051602001808260ff1681526020019150506040516020818303038152906040528760405160200180867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260040185805190602001908083835b6020831061040d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016103d0565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905287519190930192870191508083835b6020831061049157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610454565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905286519190930192860191508083835b6020831061051557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016104d8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905285519190930192850191508083835b6020831061059957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161055c565b6001836020036101000a038019825116818451168082178552505050505050905001955050505050506040516020818303038152906040526040518082805190602001908083835b6020831061061e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610680576040519150601f19603f3d011682016040523d82523d6000602084013e610685565b606091505b50915091508c8015610695575081155b156106a3576106a38161079d565b81156106b457600190990198610736565b60008680602001905160408110156106cb57600080fd5b50518651909150600090602088019060808110156106e857600080fd5b5060600151604051909150819073ffffffffffffffffffffffffffffffffffffffff8416907f13cab104924a28ca77b3228596ebc8e597aa628ce47d39429f3cb62b9a9ac60f90600090a350505b50506001909601955061022c945050505050565b50149695505050505050565b60148101516028909101516040805173ffffffffffffffffffffffffffffffffffffffff938416602082015292909116828201528051808303820181526060909201905290565b60648151101561080e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46696174546f6b656e5574696c3a2063616c6c206661696c6564000000000000604482015290519081900360640190fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201908152604483810180516024850152805190938493928392910190606487019080838360005b83811015610878578181015183820152602001610860565b50505050905090810190601f1680156108a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600080858511156108c2578182fd5b838611156108ce578182fd5b505082019391909203915056fe46696174546f6b656e5574696c3a206c656e677468206f6620706172616d7320697320696e76616c696446696174546f6b656e5574696c3a206c656e677468206f66207369676e61747572657320697320696e76616c696446696174546f6b656e5574696c3a206e6f207472616e736665722070726f7669646564a164736f6c634300060c000a","sourceMap":"684:5381:29:-:0;;;1510:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1510:77:29;1558:10;:22;;-1:-1:-1;;;;;1558:22:29;;;-1:-1:-1;;;;;;1558:22:29;;;;;;;;;684:5381;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e5c880f014610030575b600080fd5b6100f46004803603606081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184600183028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460018302840111640100000000831117156100e757600080fd5b9193509150351515610108565b604080519115158252519081900360200190f35b600060a8850480610164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806109346023913960400191505060405180910390fd5b60a8810286146101bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806108dc602a913960400191505060405180910390fd5b80604185041480156101d357506041810284145b610228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180610906602e913960400191505060405180910390fd5b6000805b8281101561074a57600060a8820290506000604183029050606061028a8c8c8590866028019261025e939291906108b3565b604051602001808383808284378083019250505092505050604051602081830303815290604052610756565b905060608c8c856028019060a88701926102a6939291906108b3565b604051602001808383808284378083019250505092505050604051602081830303815290604052905060008b8b858181106102dd57fe5b9050013560f81c60f81b60f81c905060608c8c86600101906041880192610306939291906108b3565b60405160200180838380828437808301925050509250505060405160208183030381529060405290506000606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3ee160e60e01b878787604051602001808260ff1681526020019150506040516020818303038152906040528760405160200180867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260040185805190602001908083835b6020831061040d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016103d0565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905287519190930192870191508083835b6020831061049157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610454565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905286519190930192860191508083835b6020831061051557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016104d8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905285519190930192850191508083835b6020831061059957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161055c565b6001836020036101000a038019825116818451168082178552505050505050905001955050505050506040516020818303038152906040526040518082805190602001908083835b6020831061061e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610680576040519150601f19603f3d011682016040523d82523d6000602084013e610685565b606091505b50915091508c8015610695575081155b156106a3576106a38161079d565b81156106b457600190990198610736565b60008680602001905160408110156106cb57600080fd5b50518651909150600090602088019060808110156106e857600080fd5b5060600151604051909150819073ffffffffffffffffffffffffffffffffffffffff8416907f13cab104924a28ca77b3228596ebc8e597aa628ce47d39429f3cb62b9a9ac60f90600090a350505b50506001909601955061022c945050505050565b50149695505050505050565b60148101516028909101516040805173ffffffffffffffffffffffffffffffffffffffff938416602082015292909116828201528051808303820181526060909201905290565b60648151101561080e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46696174546f6b656e5574696c3a2063616c6c206661696c6564000000000000604482015290519081900360640190fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201908152604483810180516024850152805190938493928392910190606487019080838360005b83811015610878578181015183820152602001610860565b50505050905090810190601f1680156108a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600080858511156108c2578182fd5b838611156108ce578182fd5b505082019391909203915056fe46696174546f6b656e5574696c3a206c656e677468206f6620706172616d7320697320696e76616c696446696174546f6b656e5574696c3a206c656e677468206f66207369676e61747572657320697320696e76616c696446696174546f6b656e5574696c3a206e6f207472616e736665722070726f7669646564a164736f6c634300060c000a","sourceMap":"684:5381:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:2409;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2270:2409:29;-1:-1:-1;2270:2409:29;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2441:4;838:3;2475:36;;2529:7;2521:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;838:3;2594:26;;:43;;2586:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2754:3;937:2;2715:10;:35;:42;:88;;;;-1:-1:-1;937:2:29;2761:21;;:42;;2715:88;2694:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2886:21;2927:9;2922:1657;2946:3;2942:1;:7;2922:1657;;;2970:20;838:3;2993:1;:24;2970:47;;3031:17;937:2;3051:1;:19;3031:39;;3120:19;3142:74;3176:6;;3183:12;3176:38;3196:12;3211:2;3196:17;3176:38;;;;;;;:::i;:::-;3159:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3142:16;:74::i;:::-;3120:96;;3295:19;3334:6;;3341:12;3356:2;3341:17;3334:61;838:3;3359:12;:35;3334:61;;;;;;;:::i;:::-;3317:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3295:101;;3435:7;3451:10;;3462:9;3451:21;;;;;;;;;;;;;;;3445:28;;3435:38;;3518:15;3553:10;;3564:9;3576:1;3564:13;3553:53;937:2;3578:9;:27;3553:53;;;;;;;:::i;:::-;3536:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3518:89;;3762:12;3776:23;3803:10;;;;;;;;;;:15;;1131:10;3853:37;;3892:6;3900;3919:1;3908:13;;;;;;;;;;;;;;;;;;;;;;;;;;;3923:2;3836:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3836:90:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3836:90:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3836:90:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3803:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3761:179;;;;4032:6;:18;;;;;4043:7;4042:8;4032:18;4028:100;;;4070:43;4102:10;4070:31;:43::i;:::-;4206:7;4202:367;;;4233:15;;;;;4202:367;;;4320:12;4348:6;4337:38;;;;;;;;;;;;;;;-1:-1:-1;4337:38:29;4448:56;;4337:38;;-1:-1:-1;4431:13:29;;4337:38;4448:56;;;;;;;;;;;;;-1:-1:-1;4448:56:29;;;;4527:27;4448:56;;-1:-1:-1;4448:56:29;;4527:27;;;;;;;;;4202:367;;;-1:-1:-1;;2951:3:29;;;;;-1:-1:-1;2922:1657:29;;-1:-1:-1;;;;;2922:1657:29;;-1:-1:-1;4652:20:29;;2270:2409;-1:-1:-1;;;;;;2270:2409:29:o;4926:294::-;5115:2;5103:15;;5097:22;5159:2;5147:15;;;5141:22;5189:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;4995:12;5189:24;;;;;;4926:294::o;5363:700::-;5672:3;5652:10;:17;:23;5648:90;;;5691:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5648:90;6042:14;;;;;;;;;;;;6017:4;6001:21;;;6042:14;;;;;;;;6001:21;;;;6042:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:318:-1;;;155:8;143:10;140:24;137:2;;;-1:-1;;167:12;137:2;202:6;192:8;189:20;186:2;;;-1:-1;;212:12;186:2;-1:-1;;244:31;;;293:25;;;;;-1:-1;131:192::o","linkReferences":{}},"methodIdentifiers":{"transferWithMultipleAuthorizations(bytes,bytes,bool)":"e5c880f0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"fiatToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authorizer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"}],\"name\":\"TransferFailed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"atomic\",\"type\":\"bool\"}],\"name\":\"transferWithMultipleAuthorizations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"If FiatTokenProxy is used to hold state and delegate calls, the proxy's address should be provided, not the implementation address\",\"params\":{\"fiatToken\":\"Address of the FiatToken contract\"}},\"transferWithMultipleAuthorizations(bytes,bytes,bool)\":{\"details\":\"The length of params must be multiples of 168, each representing encode-packed data containing from[20] + to[20] + value[32] + validAfter[32] + validBefore[32] + nonce[32], and the length of signatures must be multiples of 65, each representing encode-packed data containing v[1] + r[32] + s[32].\",\"params\":{\"atomic\":\"If true, revert if any of the transfers fail\",\"params\":\"Concatenated, encode-packed parameters\",\"signatures\":\"Concatenated, encode-packed signatures\"},\"returns\":{\"_0\":\"True if every transfer was successful\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":\"Constructor\",\"transferWithMultipleAuthorizations(bytes,bytes,bool)\":{\"notice\":\"Execute multiple authorized ERC20 Transfers\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenUtil.sol\":\"FiatTokenUtil\"},\"evmVersion\":\"istanbul\",\"libraries\":{\"SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenUtil.sol\":{\"keccak256\":\"0x863c84f4226580ea96e246ed381b73f1d6012cfe35faf216b3a73e355b7f60b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b6a722367ace8eda4e155ee50df90109ec627981a8cef2ab15084454069953c4\",\"dweb:/ipfs/QmWfZZ7gDF6mPmtzcLvjcxoHGG7D1JhEUNgUkUJisKBbQJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"fiatToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authorizer","type":"address","indexed":true},{"internalType":"bytes32","name":"nonce","type":"bytes32","indexed":true}],"type":"event","name":"TransferFailed","anonymous":false},{"inputs":[{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"bool","name":"atomic","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"transferWithMultipleAuthorizations","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"If FiatTokenProxy is used to hold state and delegate calls, the proxy's address should be provided, not the implementation address","params":{"fiatToken":"Address of the FiatToken contract"}},"transferWithMultipleAuthorizations(bytes,bytes,bool)":{"details":"The length of params must be multiples of 168, each representing encode-packed data containing from[20] + to[20] + value[32] + validAfter[32] + validBefore[32] + nonce[32], and the length of signatures must be multiples of 65, each representing encode-packed data containing v[1] + r[32] + s[32].","params":{"atomic":"If true, revert if any of the transfers fail","params":"Concatenated, encode-packed parameters","signatures":"Concatenated, encode-packed signatures"},"returns":{"_0":"True if every transfer was successful"}}},"version":1},"userdoc":{"kind":"user","methods":{"constructor":"Constructor","transferWithMultipleAuthorizations(bytes,bytes,bool)":{"notice":"Execute multiple authorized ERC20 Transfers"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenUtil.sol":"FiatTokenUtil"},"evmVersion":"istanbul","libraries":{"SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenUtil.sol":{"keccak256":"0x863c84f4226580ea96e246ed381b73f1d6012cfe35faf216b3a73e355b7f60b2","urls":["bzz-raw://b6a722367ace8eda4e155ee50df90109ec627981a8cef2ab15084454069953c4","dweb:/ipfs/QmWfZZ7gDF6mPmtzcLvjcxoHGG7D1JhEUNgUkUJisKBbQJ"],"license":"Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":3827,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenUtil.sol:FiatTokenUtil","label":"_fiatToken","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"version":1,"kind":"user","methods":{"constructor":"Constructor","transferWithMultipleAuthorizations(bytes,bytes,bool)":{"notice":"Execute multiple authorized ERC20 Transfers"}}},"devdoc":{"version":1,"kind":"dev","methods":{"constructor":{"details":"If FiatTokenProxy is used to hold state and delegate calls, the proxy's address should be provided, not the implementation address","params":{"fiatToken":"Address of the FiatToken contract"}},"transferWithMultipleAuthorizations(bytes,bytes,bool)":{"details":"The length of params must be multiples of 168, each representing encode-packed data containing from[20] + to[20] + value[32] + validAfter[32] + validBefore[32] + nonce[32], and the length of signatures must be multiples of 65, each representing encode-packed data containing v[1] + r[32] + s[32].","params":{"atomic":"If true, revert if any of the transfers fail","params":"Concatenated, encode-packed parameters","signatures":"Concatenated, encode-packed signatures"},"returns":{"_0":"True if every transfer was successful"}}}},"ast":{"absolutePath":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenUtil.sol","id":4099,"exportedSymbols":{"FiatTokenUtil":[4098]},"nodeType":"SourceUnit","src":"659:5407:29","nodes":[{"id":3816,"nodeType":"PragmaDirective","src":"659:23:29","nodes":[],"literals":["solidity","0.6",".12"]},{"id":4098,"nodeType":"ContractDefinition","src":"684:5381:29","nodes":[{"id":3819,"nodeType":"VariableDeclaration","src":"790:51:29","nodes":[],"constant":true,"mutability":"constant","name":"_TRANSFER_PARAM_SIZE","overrides":null,"scope":4098,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3817,"name":"uint256","nodeType":"ElementaryTypeName","src":"790:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"313638","id":3818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"838:3:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},"visibility":"private"},{"id":3822,"nodeType":"VariableDeclaration","src":"894:45:29","nodes":[],"constant":true,"mutability":"constant","name":"_SIGNATURE_SIZE","overrides":null,"scope":4098,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3820,"name":"uint256","nodeType":"ElementaryTypeName","src":"894:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"3635","id":3821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"937:2:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"visibility":"private"},{"id":3825,"nodeType":"VariableDeclaration","src":"1067:74:29","nodes":[],"constant":true,"mutability":"constant","name":"_TRANSFER_WITH_AUTHORIZATION_SELECTOR","overrides":null,"scope":4098,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3823,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1067:6:29","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"argumentTypes":null,"hexValue":"30786533656531363065","id":3824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1131:10:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_3824031246_by_1","typeString":"int_const 3824031246"},"value":"0xe3ee160e"},"visibility":"private"},{"id":3827,"nodeType":"VariableDeclaration","src":"1148:26:29","nodes":[],"constant":false,"mutability":"mutable","name":"_fiatToken","overrides":null,"scope":4098,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3826,"name":"address","nodeType":"ElementaryTypeName","src":"1148:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"private"},{"id":3833,"nodeType":"EventDefinition","src":"1181:72:29","nodes":[],"anonymous":false,"documentation":null,"name":"TransferFailed","parameters":{"id":3832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3829,"indexed":true,"mutability":"mutable","name":"authorizer","nodeType":"VariableDeclaration","overrides":null,"scope":3833,"src":"1202:26:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3828,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3831,"indexed":true,"mutability":"mutable","name":"nonce","nodeType":"VariableDeclaration","overrides":null,"scope":3833,"src":"1230:21:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1230:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"1201:51:29"}},{"id":3844,"nodeType":"FunctionDefinition","src":"1510:77:29","nodes":[],"body":{"id":3843,"nodeType":"Block","src":"1548:39:29","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3839,"name":"_fiatToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3827,"src":"1558:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3840,"name":"fiatToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3836,"src":"1571:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1558:22:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3842,"nodeType":"ExpressionStatement","src":"1558:22:29"}]},"documentation":{"id":3834,"nodeType":"StructuredDocumentation","src":"1259:246:29","text":" @notice Constructor\n @dev If FiatTokenProxy is used to hold state and delegate calls, the\n proxy's address should be provided, not the implementation address\n @param fiatToken Address of the FiatToken contract"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","overrides":null,"parameters":{"id":3837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3836,"mutability":"mutable","name":"fiatToken","nodeType":"VariableDeclaration","overrides":null,"scope":3844,"src":"1522:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3835,"name":"address","nodeType":"ElementaryTypeName","src":"1522:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"1521:19:29"},"returnParameters":{"id":3838,"nodeType":"ParameterList","parameters":[],"src":"1548:0:29"},"scope":4098,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":4050,"nodeType":"FunctionDefinition","src":"2270:2409:29","nodes":[],"body":{"id":4049,"nodeType":"Block","src":"2451:2228:29","nodes":[],"statements":[{"assignments":[3857],"declarations":[{"constant":false,"id":3857,"mutability":"mutable","name":"num","nodeType":"VariableDeclaration","overrides":null,"scope":4049,"src":"2461:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3856,"name":"uint256","nodeType":"ElementaryTypeName","src":"2461:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3862,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3858,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3847,"src":"2475:6:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":3859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2475:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":3860,"name":"_TRANSFER_PARAM_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3819,"src":"2491:20:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2475:36:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2461:50:29"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3864,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3857,"src":"2529:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2535:1:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2529:7:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"46696174546f6b656e5574696c3a206e6f207472616e736665722070726f7669646564","id":3867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2538:37:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12958cdf0805e7770bc41b324862fd4f464b924b0c899589aa4b23fb8eb3c8","typeString":"literal_string \"FiatTokenUtil: no transfer provided\""},"value":"FiatTokenUtil: no transfer provided"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ee12958cdf0805e7770bc41b324862fd4f464b924b0c899589aa4b23fb8eb3c8","typeString":"literal_string \"FiatTokenUtil: no transfer provided\""}],"id":3863,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2521:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2521:55:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3869,"nodeType":"ExpressionStatement","src":"2521:55:29"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3871,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3857,"src":"2594:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":3872,"name":"_TRANSFER_PARAM_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3819,"src":"2600:20:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2594:26:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3874,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3847,"src":"2624:6:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":3875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2624:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2594:43:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"46696174546f6b656e5574696c3a206c656e677468206f6620706172616d7320697320696e76616c6964","id":3877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2639:44:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_154b698c7757c652475a6fdbced82b85390f95cf69f1a30a3d5410afbd622d77","typeString":"literal_string \"FiatTokenUtil: length of params is invalid\""},"value":"FiatTokenUtil: length of params is invalid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_154b698c7757c652475a6fdbced82b85390f95cf69f1a30a3d5410afbd622d77","typeString":"literal_string \"FiatTokenUtil: length of params is invalid\""}],"id":3870,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2586:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2586:98:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3879,"nodeType":"ExpressionStatement","src":"2586:98:29"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3881,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3849,"src":"2715:10:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":3882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2715:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":3883,"name":"_SIGNATURE_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"2735:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2715:35:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3885,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3857,"src":"2754:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2715:42:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3887,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3857,"src":"2761:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":3888,"name":"_SIGNATURE_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"2767:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2761:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3890,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3849,"src":"2786:10:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":3891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2786:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2761:42:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2715:88:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"46696174546f6b656e5574696c3a206c656e677468206f66207369676e61747572657320697320696e76616c6964","id":3894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2817:48:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_48ce06a1e9f56ab4d41af321d612b7127d07371446f62c08abe7993f9de7b0f8","typeString":"literal_string \"FiatTokenUtil: length of signatures is invalid\""},"value":"FiatTokenUtil: length of signatures is invalid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_48ce06a1e9f56ab4d41af321d612b7127d07371446f62c08abe7993f9de7b0f8","typeString":"literal_string \"FiatTokenUtil: length of signatures is invalid\""}],"id":3880,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2694:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2694:181:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3896,"nodeType":"ExpressionStatement","src":"2694:181:29"},{"assignments":[3898],"declarations":[{"constant":false,"id":3898,"mutability":"mutable","name":"numSuccessful","nodeType":"VariableDeclaration","overrides":null,"scope":4049,"src":"2886:21:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3897,"name":"uint256","nodeType":"ElementaryTypeName","src":"2886:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3900,"initialValue":{"argumentTypes":null,"hexValue":"30","id":3899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2910:1:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2886:25:29"},{"body":{"id":4043,"nodeType":"Block","src":"2956:1623:29","statements":[{"assignments":[3912],"declarations":[{"constant":false,"id":3912,"mutability":"mutable","name":"paramsOffset","nodeType":"VariableDeclaration","overrides":null,"scope":4043,"src":"2970:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3911,"name":"uint256","nodeType":"ElementaryTypeName","src":"2970:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3916,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3913,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3902,"src":"2993:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":3914,"name":"_TRANSFER_PARAM_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3819,"src":"2997:20:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2993:24:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2970:47:29"},{"assignments":[3918],"declarations":[{"constant":false,"id":3918,"mutability":"mutable","name":"sigOffset","nodeType":"VariableDeclaration","overrides":null,"scope":4043,"src":"3031:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3917,"name":"uint256","nodeType":"ElementaryTypeName","src":"3031:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3922,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3919,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3902,"src":"3051:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":3920,"name":"_SIGNATURE_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"3055:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3051:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3031:39:29"},{"assignments":[3924],"declarations":[{"constant":false,"id":3924,"mutability":"mutable","name":"fromTo","nodeType":"VariableDeclaration","overrides":null,"scope":4043,"src":"3120:19:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3923,"name":"bytes","nodeType":"ElementaryTypeName","src":"3120:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"id":3936,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3928,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3847,"src":"3176:6:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3930,"name":"paramsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3912,"src":"3196:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"hexValue":"3430","id":3931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3211:2:29","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"3196:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"3176:38:29","startExpression":{"argumentTypes":null,"id":3929,"name":"paramsOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3912,"src":"3183:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}],"expression":{"argumentTypes":null,"id":3926,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3159:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3159:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3159:56:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3925,"name":"_unpackAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4072,"src":"3142:16:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":3935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3142:74:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3120:96:29"},{"assignments":[3938],"declarations":[{"constant":false,"id":3938,"mutability":"mutable","name":"other4","nodeType":"VariableDeclaration","overrides":null,"scope":4043,"src":"3295:19:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeNa