@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
665 lines (664 loc) • 81.1 kB
JSON
{
"contractName": "TestSimpleCallee",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "dolomiteMargin",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "accountOwner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "accountNumber",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "Called",
"type": "event"
},
{
"constant": true,
"inputs": [],
"name": "DOLOMITE_MARGIN",
"outputs": [
{
"internalType": "contract IDolomiteMargin",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
}
],
"internalType": "struct Account.Info",
"name": "account",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "callFunction",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dolomiteMargin\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"accountNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Called\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOLOMITE_MARGIN\",\"outputs\":[{\"internalType\":\"contract IDolomiteMargin\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Account.Info\",\"name\":\"account\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"callFunction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"dYdX * ICallee for testing any data being sent\",\"methods\":{},\"title\":\"TestSimpleCallee\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/testing/TestSimpleCallee.sol\":\"TestSimpleCallee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol\":{\"keccak256\":\"0xe40babc0a6dd2a767d76f3e0f0a22de124c4c480f2b2227a7b924b44e57526ea\",\"urls\":[\"bzz-raw://458f7f1f16eacd4faae597090503dc1e58446e9d371640c77b2e01e3e3113f17\",\"dweb:/ipfs/QmXqTG4sWJeDh5XA286KarbqHT4qJ7m3dphS16enpqtQiX\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x5b9fde139ddfdaae7b650b3c3f6699e0e44605f0d9d3daadc1622eb06ad4c3f8\",\"urls\":[\"bzz-raw://2dfd5af24b6de63f94519c99fd8777a264d7cd11266fa2d525c7d72d96a9c7cf\",\"dweb:/ipfs/QmPg9fjhbnmBayZMh6yTG79xsK1PWSoAHA5pfwSXfnKKjF\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/ICallee.sol\":{\"keccak256\":\"0x0b65209369307041e67c28634fc17a19e953199ac42a88198b76578f7fa9b0f8\",\"urls\":[\"bzz-raw://46618851882c2bc5a6212bb0a8ad095e0f38049f24ecf404163ad6b493c728a1\",\"dweb:/ipfs/QmRx4VabTaXTGSyMt8NCTZ7nMiWCHfrvqZjRaKNRir3zEe\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/testing/TestSimpleCallee.sol\":{\"keccak256\":\"0x36d29f999dd6a9fd5f53ce0e4f825c8cea0f9799b4a7a5859623381f87370c0e\",\"urls\":[\"bzz-raw://1d413793d1c5023646f18bd8d0b3869a03bbc685468d691e1098aaed35296cdb\",\"dweb:/ipfs/QmSNikg6sQNbsK4XejbvSSKMeYFvb7xLxKTx5wAzy7hP8W\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506040516109e03803806109e083398101604081905261002f91610065565b600080546001600160a01b0319166001600160a01b03929092169190911790556100b3565b805161005f8161009c565b92915050565b60006020828403121561007757600080fd5b60006100838484610054565b949350505050565b60006001600160a01b03821661005f565b6100a58161008b565b81146100b057600080fd5b50565b61091e806100c26000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806315c14a4a1461003b5780638b41871314610059575b600080fd5b61004361006e565b6040516100509190610717565b60405180910390f35b61006c610067366004610597565b61008a565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005433906100f39073ffffffffffffffffffffffffffffffffffffffff1682147f4f6e6c79446f6c6f6d6974654d617267696e00000000000000000000000000007f4f6e6c7920446f6c6f6d6974652063616e2063616c6c2066756e6374696f6e0084610168565b826000015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f879870a16ac2bddaa2e1116e5fe418c112bbd88b7ec25e3e990cc0f1443592ef85602001518560405161015a92919061073d565b60405180910390a350505050565b83610267576101768361026d565b7f3a200000000000000000000000000000000000000000000000000000000000006101a08461026d565b7f203c0000000000000000000000000000000000000000000000000000000000006101ca85610347565b6040516102009594939291907f3e00000000000000000000000000000000000000000000000000000000000000906020016106b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261025e91600401610725565b60405180910390fd5b50505050565b6060808260405160200161028191906106a4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b801561032a5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101908290829081106102ed57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156103255760010181529050610342565b6102b4565b5060408051600080825260208201909252905b509150505b919050565b60408051602a808252606082810190935273ffffffffffffffffffffffffffffffffffffffff8416918391602082018180388339019050509050603060f81b8160008151811061039357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350607860f81b816001815181106103d457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b601481101561033d576002810261041f600f85166104be565b83826029038151811061042e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600484901c9350610470600f85166104be565b83826028038151811061047f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505060049290921c91600101610406565b6000600a8210156104d657506030810160f81b610342565b5060570160f81b90565b80356104eb816108bb565b92915050565b600082601f83011261050257600080fd5b81356105156105108261078c565b610765565b9150808252602083016020830185838301111561053157600080fd5b61053c83828461085b565b50505092915050565b60006040828403121561055757600080fd5b6105616040610765565b9050600061056f84846104e0565b82525060206105808484830161058c565b60208301525092915050565b80356104eb816108d2565b6000806000608084860312156105ac57600080fd5b60006105b886866104e0565b93505060206105c986828701610545565b925050606084013567ffffffffffffffff8111156105e657600080fd5b6105f2868287016104f1565b9150509250925092565b61060d610608826107ea565b610834565b82525050565b61060d6106088261080f565b61060d61060882610834565b6000610636826107d2565b61064081856107d6565b9350610650818560208601610867565b61065981610893565b9093019392505050565b600061066e826107d2565b6106788185610342565b9350610688818560208601610867565b9290920192915050565b61060d81610850565b61060d81610834565b60006106b0828461061f565b50602001919050565b60006106c58289610663565b91506106d18288610613565b6002820191506106e18287610663565b91506106ed8286610613565b6002820191506106fd8285610663565b915061070982846105fc565b506001019695505050505050565b602081016104eb8284610692565b60208082528101610736818461062b565b9392505050565b6040810161074b828561069b565b818103602083015261075d818461062b565b949350505050565b60405181810167ffffffffffffffff8111828210171561078457600080fd5b604052919050565b600067ffffffffffffffff8211156107a357600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b5190565b90815260200190565b60006104eb82610837565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60006104eb826107df565b82818337506000910152565b60005b8381101561088257818101518382015260200161086a565b838111156102675750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6108c4816107df565b81146108cf57600080fd5b50565b6108c48161083456fea365627a7a723158208577495ce80a957525d025b22649cfbd8460d581d90ddf9be803dd982e38c2056c6578706572696d656e74616cf564736f6c63430005100040",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806315c14a4a1461003b5780638b41871314610059575b600080fd5b61004361006e565b6040516100509190610717565b60405180910390f35b61006c610067366004610597565b61008a565b005b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005433906100f39073ffffffffffffffffffffffffffffffffffffffff1682147f4f6e6c79446f6c6f6d6974654d617267696e00000000000000000000000000007f4f6e6c7920446f6c6f6d6974652063616e2063616c6c2066756e6374696f6e0084610168565b826000015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f879870a16ac2bddaa2e1116e5fe418c112bbd88b7ec25e3e990cc0f1443592ef85602001518560405161015a92919061073d565b60405180910390a350505050565b83610267576101768361026d565b7f3a200000000000000000000000000000000000000000000000000000000000006101a08461026d565b7f203c0000000000000000000000000000000000000000000000000000000000006101ca85610347565b6040516102009594939291907f3e00000000000000000000000000000000000000000000000000000000000000906020016106b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261025e91600401610725565b60405180910390fd5b50505050565b6060808260405160200161028191906106a4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b801561032a5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101908290829081106102ed57fe5b01602001517fff0000000000000000000000000000000000000000000000000000000000000016156103255760010181529050610342565b6102b4565b5060408051600080825260208201909252905b509150505b919050565b60408051602a808252606082810190935273ffffffffffffffffffffffffffffffffffffffff8416918391602082018180388339019050509050603060f81b8160008151811061039357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350607860f81b816001815181106103d457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b601481101561033d576002810261041f600f85166104be565b83826029038151811061042e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600484901c9350610470600f85166104be565b83826028038151811061047f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505060049290921c91600101610406565b6000600a8210156104d657506030810160f81b610342565b5060570160f81b90565b80356104eb816108bb565b92915050565b600082601f83011261050257600080fd5b81356105156105108261078c565b610765565b9150808252602083016020830185838301111561053157600080fd5b61053c83828461085b565b50505092915050565b60006040828403121561055757600080fd5b6105616040610765565b9050600061056f84846104e0565b82525060206105808484830161058c565b60208301525092915050565b80356104eb816108d2565b6000806000608084860312156105ac57600080fd5b60006105b886866104e0565b93505060206105c986828701610545565b925050606084013567ffffffffffffffff8111156105e657600080fd5b6105f2868287016104f1565b9150509250925092565b61060d610608826107ea565b610834565b82525050565b61060d6106088261080f565b61060d61060882610834565b6000610636826107d2565b61064081856107d6565b9350610650818560208601610867565b61065981610893565b9093019392505050565b600061066e826107d2565b6106788185610342565b9350610688818560208601610867565b9290920192915050565b61060d81610850565b61060d81610834565b60006106b0828461061f565b50602001919050565b60006106c58289610663565b91506106d18288610613565b6002820191506106e18287610663565b91506106ed8286610613565b6002820191506106fd8285610663565b915061070982846105fc565b506001019695505050505050565b602081016104eb8284610692565b60208082528101610736818461062b565b9392505050565b6040810161074b828561069b565b818103602083015261075d818461062b565b949350505050565b60405181810167ffffffffffffffff8111828210171561078457600080fd5b604052919050565b600067ffffffffffffffff8211156107a357600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b5190565b90815260200190565b60006104eb82610837565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60006104eb826107df565b82818337506000910152565b60005b8381101561088257818101518382015260200161086a565b838111156102675750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6108c4816107df565b81146108cf57600080fd5b50565b6108c48161083456fea365627a7a723158208577495ce80a957525d025b22649cfbd8460d581d90ddf9be803dd982e38c2056c6578706572696d656e74616cf564736f6c63430005100040",
"sourceMap": "959:884:138:-;;;1364:114;8:9:-1;5:2;;;30:1;27;20:12;5:2;1364:114:138;;;;;;;;;;;;;;;;;;;;;1302:15:6;:50;;-1:-1:-1;;;;;;1302:50:6;-1:-1:-1;;;;;1302:50:6;;;;;;;;;;959:884:138;;5:134:-1;83:13;;101:33;83:13;101:33;;;68:71;;;;;146:263;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;;;319:74;223:186;-1:-1;;;;223:186;416:91;;-1:-1;;;;;576:54;;478:24;559:76;642:117;711:24;729:5;711:24;;;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;;;959:884:138;;;;;;",
"deployedSourceMap": "959:884:138:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;959:884:138;;;;;;;;;;;;;;;;;;;;;;;;1130:38:6;;;:::i;:::-;;;;;;;;;;;;;;;;1536:305:138;;;;;;;;;:::i;:::-;;1130:38:6;;;;;;:::o;1536:305:138:-;1505:15:6;;1694:10:138;;1462:153:6;;1505:15;;1488:33;;1535:4;1462:153;1694:10:138;1462:12:6;:153::i;:::-;1765:7:138;:13;;;1725:109;;1745:6;1725:109;;;1792:7;:14;;;1820:4;1725:109;;;;;;;;;;;;;;;;1536:305;;;;:::o;2962:561:99:-;3122:4;3117:400;;3236:24;3255:4;3236:18;:24::i;:::-;3286:5;3317:26;3336:6;3317:18;:26::i;:::-;3369:6;3401:19;3411:8;3401:9;:19::i;:::-;3194:280;;;;;;;;;3446:6;;3194:280;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;3194:280:99;;;;3142:364;;;;;;;;;;;;;;;;;3117:400;2962:561;;;;:::o;6359:968::-;6463:12;6538:19;6577:5;6560:23;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;6560:23:99;;;;-1:-1:-1;49:4;6689:572:99;6710:6;;6689:572;;6962:9;;6864:3;;;;;6962:6;;6864:3;;6962:9;;;;;;;;;;;;:14;6958:293;;7017:1;7013:5;7143:22;;7150:6;-1:-1:-1;7223:13:99;;6958:293;6689:572;;;-1:-1:-1;7308:12:99;;;7318:1;7308:12;;;;;;;;;;;;7301:19;;;6359:968;;;;:::o;8252:958::-;8524:13;;;8534:2;8524:13;;;8346:12;8524:13;;;;;;8386:14;;;;8346:12;;8524:13;;;21:6:-1;;104:10;8524:13:99;87:34:-1;135:17;;-1:-1;8524:13:99;8502:35;;902:2;8601:23;;8589:6;8596:1;8589:9;;;;;;;;;;;:35;;;;;;;;;;;1010:3;8646:27;;8634:6;8641:1;8634:9;;;;;;;;;;;:39;;;;;;;;;;;8787:9;8782:398;8802:2;8798:1;:6;8782:398;;;8891:1;8887:5;;8984:23;1232:3;8989:17;;8984:4;:23::i;:::-;8963:6;8975:5;8970:2;:10;8963:18;;;;;;;;;;;:44;;;;;;;;;;;9030:1;9025;:6;;9021:10;;9122:23;1232:3;9127:1;:17;9122:4;:23::i;:::-;9101:6;9113:5;9108:2;:10;9101:18;;;;;;;;;;;:44;;;;;;;;;;-1:-1:-1;;9168:1:99;9163:6;;;;;8806:3;;8782:398;;10178:325;10267:4;10335:2;10327:5;:10;10323:79;;;-1:-1:-1;902:2:99;10371:18;;10360:31;;10353:38;;10323:79;-1:-1:-1;956:2:99;10467:27;10456:40;;;10178:325::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;143:440;;244:3;237:4;229:6;225:17;221:27;211:2;;262:1;259;252:12;211:2;299:6;286:20;321:64;336:48;377:6;336:48;;;321:64;;;312:73;;405:6;398:5;391:21;441:4;433:6;429:17;474:4;467:5;463:16;509:3;500:6;495:3;491:16;488:25;485:2;;;526:1;523;516:12;485:2;536:41;570:6;565:3;560;536:41;;;204:379;;;;;;;;617:468;;729:4;717:9;712:3;708:19;704:30;701:2;;;747:1;744;737:12;701:2;765:20;780:4;765:20;;;756:29;-1:-1;836:1;868:49;913:3;893:9;868:49;;;843:75;;-1:-1;981:2;1014:49;1059:3;1035:22;;;1014:49;;;1007:4;1000:5;996:16;989:75;939:136;695:390;;;;;1092:130;1159:20;;1184:33;1159:20;1184:33;;1229:642;;;;1399:3;1387:9;1378:7;1374:23;1370:33;1367:2;;;1416:1;1413;1406:12;1367:2;1451:1;1468:53;1513:7;1493:9;1468:53;;;1458:63;;1430:97;1558:2;1576:76;1644:7;1635:6;1624:9;1620:22;1576:76;;;1566:86;;1537:121;1717:2;1706:9;1702:18;1689:32;1741:18;1733:6;1730:30;1727:2;;;1773:1;1770;1763:12;1727:2;1793:62;1847:7;1838:6;1827:9;1823:22;1793:62;;;1783:72;;1668:193;1361:510;;;;;;1878:148;1977:43;1996:23;2013:5;1996:23;;;1977:43;;;1972:3;1965:56;1959:67;;;2033:148;2132:43;2151:23;2168:5;2151:23;;2188:152;2289:45;2309:24;2327:5;2309:24;;2347:343;;2457:38;2489:5;2457:38;;;2507:70;2570:6;2565:3;2507:70;;;2500:77;;2582:52;2627:6;2622:3;2615:4;2608:5;2604:16;2582:52;;;2655:29;2677:6;2655:29;;;2646:39;;;;2437:253;-1:-1;;;2437:253;2697:356;;2825:38;2857:5;2825:38;;;2875:88;2956:6;2951:3;2875:88;;;2868:95;;2968:52;3013:6;3008:3;3001:4;2994:5;2990:16;2968:52;;;3032:16;;;;;2805:248;-1:-1;;2805:248;3060:176;3168:62;3224:5;3168:62;;3597:113;3680:24;3698:5;3680:24;;3717:244;;3836:75;3907:3;3898:6;3836:75;;;-1:-1;3933:2;3924:12;;3824:137;-1:-1;3824:137;3968:978;;4282:93;4371:3;4362:6;4282:93;;;4275:100;;4386:73;4455:3;4446:6;4386:73;;;4481:1;4476:3;4472:11;4465:18;;4501:93;4590:3;4581:6;4501:93;;;4494:100;;4605:73;4674:3;4665:6;4605:73;;;4700:1;4695:3;4691:11;4684:18;;4720:93;4809:3;4800:6;4720:93;;;4713:100;;4824:73;4893:3;4884:6;4824:73;;;-1:-1;4919:1;4910:11;;4263:683;-1:-1;;;;;;4263:683;4953:263;5096:2;5081:18;;5110:96;5085:9;5179:6;5110:96;;5223:301;5361:2;5375:47;;;5346:18;;5436:78;5346:18;5500:6;5436:78;;;5428:86;5332:192;-1:-1;;;5332:192;5531:408;5695:2;5680:18;;5709:71;5684:9;5753:6;5709:71;;;5828:9;5822:4;5818:20;5813:2;5802:9;5798:18;5791:48;5853:76;5924:4;5915:6;5853:76;;;5845:84;5666:273;-1:-1;;;;5666:273;5946:256;6008:2;6002:9;6034:17;;;6109:18;6094:34;;6130:22;;;6091:62;6088:2;;;6166:1;6163;6156:12;6088:2;6182;6175:22;5986:216;;-1:-1;5986:216;6209:321;;6352:18;6344:6;6341:30;6338:2;;;6384:1;6381;6374:12;6338:2;-1:-1;6515:4;6451;6428:17;;;;6447:9;6424:33;6505:15;;6275:255;6537:121;6624:12;;6595:63;6795:162;6897:19;;;6946:4;6937:14;;6890:67;7290:91;;7352:24;7370:5;7352:24;;7388:144;7460:66;7449:78;;7432:100;7539:144;7611:66;7600:78;;7583:100;7690:72;7752:5;7735:27;7769:121;7842:42;7831:54;;7814:76;7976:171;;8080:62;8136:5;8080:62;;8295:145;8376:6;8371:3;8366;8353:30;-1:-1;8432:1;8414:16;;8407:27;8346:94;8449:268;8514:1;8521:101;8535:6;8532:1;8529:13;8521:101;;;8602:11;;;8596:18;8583:11;;;8576:39;8557:2;8550:10;8521:101;;;8637:6;8634:1;8631:13;8628:2;;;-1:-1;;8702:1;8684:16;;8677:27;8498:219;8966:97;9054:2;9034:14;9050:7;9030:28;;9014:49;9071:117;9140:24;9158:5;9140:24;;;9133:5;9130:35;9120:2;;9179:1;9176;9169:12;9120:2;9114:74;;9195:117;9264:24;9282:5;9264:24;",
"source": "/*\n\n Copyright 2019 dYdX Trading Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { OnlyDolomiteMargin } from \"../external/helpers/OnlyDolomiteMargin.sol\";\nimport { ICallee } from \"../protocol/interfaces/ICallee.sol\";\nimport { Account } from \"../protocol/lib/Account.sol\";\n\n\n/**\n * @title TestSimpleCallee\n * @author dYdX\n *\n * ICallee for testing any data being sent\n */\ncontract TestSimpleCallee is\n ICallee,\n OnlyDolomiteMargin\n{\n // ============ Constants ============\n\n bytes32 private constant FILE = \"TestSimpleCallee\";\n\n // ============ Events ============\n\n event Called(\n address indexed sender,\n address indexed accountOwner,\n uint256 accountNumber,\n bytes data\n );\n\n // ============ Constructor ============\n\n constructor(\n address dolomiteMargin\n )\n public\n OnlyDolomiteMargin(dolomiteMargin)\n {}\n\n // ============ ICallee Functions ============\n\n function callFunction(\n address sender,\n Account.Info memory account,\n bytes memory data\n )\n public\n onlyDolomiteMargin(msg.sender)\n {\n emit Called(\n sender,\n account.owner,\n account.number,\n data\n );\n }\n}\n",
"sourcePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/testing/TestSimpleCallee.sol",
"ast": {
"absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/testing/TestSimpleCallee.sol",
"exportedSymbols": {
"TestSimpleCallee": [
36328
]
},
"id": 36329,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 36271,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "603:23:138"
},
{
"id": 36272,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "627:33:138"
},
{
"absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/external/helpers/OnlyDolomiteMargin.sol",
"file": "../external/helpers/OnlyDolomiteMargin.sol",
"id": 36274,
"nodeType": "ImportDirective",
"scope": 36329,
"sourceUnit": 3067,
"src": "662:80:138",
"symbolAliases": [
{
"foreign": 36273,
"local": null
}
],
"unitAlias": ""
},
{
"absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/interfaces/ICallee.sol",
"file": "../protocol/interfaces/ICallee.sol",
"id": 36276,
"nodeType": "ImportDirective",
"scope": 36329,
"sourceUnit": 24074,
"src": "743:61:138",
"symbolAliases": [
{
"foreign": 36275,
"local": null
}
],
"unitAlias": ""
},
{
"absolutePath": "/home/cdc218/projects/dolomite/dolomite-protocol-v2/contracts/protocol/lib/Account.sol",
"file": "../protocol/lib/Account.sol",
"id": 36278,
"nodeType": "ImportDirective",
"scope": 36329,
"sourceUnit": 24886,
"src": "805:54:138",
"symbolAliases": [
{
"foreign": 36277,
"local": null
}
],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 36279,
"name": "ICallee",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 24073,
"src": "992:7:138",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ICallee_$24073",
"typeString": "contract ICallee"
}
},
"id": 36280,
"nodeType": "InheritanceSpecifier",
"src": "992:7:138"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 36281,
"name": "OnlyDolomiteMargin",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3066,
"src": "1005:18:138",
"typeDescriptions": {
"typeIdentifier": "t_contract$_OnlyDolomiteMargin_$3066",
"typeString": "contract OnlyDolomiteMargin"
}
},
"id": 36282,
"nodeType": "InheritanceSpecifier",
"src": "1005:18:138"
}
],
"contractDependencies": [
3066,
24073
],
"contractKind": "contract",
"documentation": "@title TestSimpleCallee\n@author dYdX\n * ICallee for testing any data being sent",
"fullyImplemented": true,
"id": 36328,
"linearizedBaseContracts": [
36328,
3066,
24073
],
"name": "TestSimpleCallee",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 36285,
"name": "FILE",
"nodeType": "VariableDeclaration",
"scope": 36328,
"src": "1074:50:138",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 36283,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1074:7:138",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"argumentTypes": null,
"hexValue": "5465737453696d706c6543616c6c6565",
"id": 36284,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1106:18:138",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6fd059471fc70a70256090dc10350f275d99082bb7e4a68fc74ef6bd2af37e1b",
"typeString": "literal_string \"TestSimpleCallee\""
},
"value": "TestSimpleCallee"
},
"visibility": "private"
},
{
"anonymous": false,
"documentation": null,
"id": 36295,
"name": "Called",
"nodeType": "EventDefinition",
"parameters": {
"id": 36294,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36287,
"indexed": true,
"name": "sender",
"nodeType": "VariableDeclaration",
"scope": 36295,
"src": "1194:22:138",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 36286,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1194:7:138",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 36289,
"indexed": true,
"name": "accountOwner",
"nodeType": "VariableDeclaration",
"scope": 36295,
"src": "1226:28:138",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 36288,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1226:7:138",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 36291,
"indexed": false,
"name": "accountNumber",
"nodeType": "VariableDeclaration",
"scope": 36295,
"src": "1264:21:138",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 36290,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1264:7:138",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 36293,
"indexed": false,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 36295,
"src": "1295:10:138",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 36292,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1295:5:138",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1184:127:138"
},
"src": "1172:140:138"
},
{
"body": {
"id": 36303,
"nodeType": "Block",
"src": "1476:2:138",
"statements": []
},
"documentation": null,
"id": 36304,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 36300,
"name": "dolomiteMargin",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36297,
"src": "1456:14:138",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"id": 36301,
"modifierName": {
"argumentTypes": null,
"id": 36299,
"name": "OnlyDolomiteMargin",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3066,
"src": "1437:18:138",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_OnlyDolomiteMargin_$3066_$",
"typeString": "type(contract OnlyDolomiteMargin)"
}
},
"nodeType": "ModifierInvocation",
"src": "1437:34:138"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36298,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36297,
"name": "dolomiteMargin",
"nodeType": "VariableDeclaration",
"scope": 36304,
"src": "1385:22:138",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 36296,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1385:7:138",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1375:38:138"
},
"returnParameters": {
"id": 36302,
"nodeType": "ParameterList",
"parameters": [],
"src": "1476:0:138"
},
"scope": 36328,
"src": "1364:114:138",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 36326,
"nodeType": "Block",
"src": "1710:131:138",
"statements": [
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 36318,
"name": "sender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36306,
"src": "1745:6:138",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 36319,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36308,
"src": "1765:7:138",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Info_$24851_memory_ptr",
"typeString": "struct Account.Info memory"
}
},
"id": 36320,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "owner",
"nodeType": "MemberAccess",
"referencedDeclaration": 24848,
"src": "1765:13:138",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 36321,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36308,
"src": "1792:7:138",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Info_$24851_memory_ptr",
"typeString": "struct Account.Info memory"
}
},
"id": 36322,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "number",
"nodeType": "MemberAccess",
"referencedDeclaration": 24850,
"src": "1792:14:138",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 36323,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36310,
"src": "1820:4:138",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 36317,
"name": "Called",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36295,
"src": "1725:6:138",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
"typeString": "function (address,address,uint256,bytes memory)"
}
},
"id": 36324,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1725:109:138",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 36325,
"nodeType": "EmitStatement",
"src": "1720:114:138"
}
]
},
"documentation": null,
"id": 36327,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 36313,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 38107,
"src": "1694:3:138",
"typeDescriptions": {