UNPKG

@dolomite-exchange/dolomite-margin

Version:

Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol

468 lines (467 loc) 62 kB
{ "contractName": "TestOperationImpl", "abi": [], "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This is used to split apart the call to state#setPar to lessen the bytecode size of TestDolomiteMargin.sol\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestOperationImpl.sol\":\"TestOperationImpl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x5b9fde139ddfdaae7b650b3c3f6699e0e44605f0d9d3daadc1622eb06ad4c3f8\",\"urls\":[\"bzz-raw://2dfd5af24b6de63f94519c99fd8777a264d7cd11266fa2d525c7d72d96a9c7cf\",\"dweb:/ipfs/QmPg9fjhbnmBayZMh6yTG79xsK1PWSoAHA5pfwSXfnKKjF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestOperationImpl.sol\":{\"keccak256\":\"0x6db553a7bf1da1f16e9f189a2a908fa93bf9408ccfb8c7693e0f856b596d65d6\",\"urls\":[\"bzz-raw://af2a4798be64b345393a3dca795095e8879f630fc6c2e8b0b0bcd7e7cc18019d\",\"dweb:/ipfs/QmPifHigQxBrSZSzbUWnfNC9kxFcLh88PEpgoLP1671Q8P\"]},\"@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": "0x611073610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806381379a5e1461003a575b600080fd5b81801561004657600080fd5b5061005a610055366004610d27565b61005c565b005b61006e8484848463ffffffff61007416565b50505050565b61007c610c62565b61008d85858563ffffffff61055216565b905061009981836105d2565b156100a4575061006e565b6100ac610c62565b6100bc868563ffffffff61064516565b8251909150156101295761010d61010883602001516fffffffffffffffffffffffffffffffff1683602001516fffffffffffffffffffffffffffffffff166106a590919063ffffffff16565b6106ee565b6fffffffffffffffffffffffffffffffff16602082015261016e565b6020820151815161015991610108916fffffffffffffffffffffffffffffffff908116911663ffffffff6106a516565b6fffffffffffffffffffffffffffffffff1681525b8251156101d3576101b761010884602001516fffffffffffffffffffffffffffffffff1683602001516fffffffffffffffffffffffffffffffff1661075990919063ffffffff16565b6fffffffffffffffffffffffffffffffff166020820152610218565b6020830151815161020391610108916fffffffffffffffffffffffffffffffff908116911663ffffffff61075916565b6fffffffffffffffffffffffffffffffff1681525b610221826107a1565b80156102315750610231836107cb565b156102ce57845173ffffffffffffffffffffffffffffffffffffffff1660009081526003870160209081526040808320828901518452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff61010080840482169290920116027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff909116179055610360565b6102d7826107cb565b80156102e757506102e7836107a1565b1561036057845173ffffffffffffffffffffffffffffffffffffffff16600090815260038701602090815260408083208289015184529091529020805463ffffffff6101008083048216600101909116027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff9091161790555b610369836107e1565b801561037b5750610379826107e1565b155b156103cf57845173ffffffffffffffffffffffffffffffffffffffff166000908152600387016020908152604080832082890151845290915290206103c9906001018563ffffffff6107fb16565b50610439565b6103d8836107e1565b1580156103e957506103e9826107e1565b1561043957845173ffffffffffffffffffffffffffffffffffffffff16600090815260038701602090815260408083208289015184529091529020610437906001018563ffffffff6108e116565b505b6000848152600180880160209081526040808420855193018054958301516fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029481167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090971696909617861693909317909255875173ffffffffffffffffffffffffffffffffffffffff1683526003808a018252828420898301518552825282842088855201815291208451815492860151909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090931692909217929092161790555050505050565b61055a610c62565b50815173ffffffffffffffffffffffffffffffffffffffff1660009081526003938401602090815260408083209482015183529381528382209282529190930181529181902081518083019092525460ff81161515825261010090046fffffffffffffffffffffffffffffffff169181019190915290565b600081602001516fffffffffffffffffffffffffffffffff1683602001516fffffffffffffffffffffffffffffffff16141561063b5760208301516fffffffffffffffffffffffffffffffff1661062b5750600161063f565b508051825115159015151461063f565b5060005b92915050565b61064d610c62565b506000818152600180840160209081526040928390208351808501909452909101546fffffffffffffffffffffffffffffffff8082168452700100000000000000000000000000000000909104169082015292915050565b60006106e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061092b565b9392505050565b6000816107516fffffffffffffffffffffffffffffffff821682147f4d617468000000000000000000000000000000000000000000000000000000007f556e73616665206361737420746f2075696e743132380000000000000000000084610971565b90505b919050565b6000828201838110156106e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079890610edb565b60405180910390fd5b600081602001516fffffffffffffffffffffffffffffffff16600014158015610751575050511590565b60006107d6826107e1565b806107515750505190565b602001516fffffffffffffffffffffffffffffffff161590565b600081815260018301602052604081205480156108d75783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808301910180821461089157600086600001828154811061085257fe5b906000526020600020015490508087600001848154811061086f57fe5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061089c57fe5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061063f565b600091505061063f565b60006108ed8383610a67565b6109235750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561063f565b50600061063f565b60008184841115610969576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107989190610eca565b505050900390565b8361006e5761097f83610a7f565b7f3a200000000000000000000000000000000000000000000000000000000000006109a984610a7f565b7f203c0000000000000000000000000000000000000000000000000000000000006109d385610b53565b604051610a099594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001610e6c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261079891600401610eca565b60009081526001919091016020526040902054151590565b60608082604051602001610a939190610e57565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b8015610b3c5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910190829082908110610aff57fe5b01602001517fff000000000000000000000000000000000000000000000000000000000000001615610b375760010181529050610754565b610ac6565b505060408051600081526020810190915292915050565b606081610b94575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610754565b8160005b8115610bac57600101600a82049150610b98565b6060816040519080825280601f01601f191660200182016040528015610bd9576020820181803883390190505b508593509050815b8015610c59577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01600a840660300160f81b828281518110610c1f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84049350610be1565b50949350505050565b604080518082019091526000808252602082015290565b803561063f81610ffe565b803561063f81611015565b600060408284031215610ca157600080fd5b610cab6040610eeb565b90506000610cb98484610c79565b8252506020610cca84848301610d11565b60208301525092915050565b600060408284031215610ce857600080fd5b610cf26040610eeb565b90506000610d008484610c84565b8252506020610cca84848301610d1c565b803561063f8161101e565b803561063f81611027565b60008060008060c08587031215610d3d57600080fd5b6000610d498787610d11565b9450506020610d5a87828801610c8f565b9350506060610d6b87828801610d11565b9250506080610d7c87828801610cd6565b91505092959194509250565b610d99610d9482610f2f565b610f79565b82525050565b610d99610d9482610f54565b610d99610d9482610f79565b6000610dc282610f12565b610dcc8185610754565b9350610ddc818560208601610faa565b9290920192915050565b6000610df182610f12565b610dfb8185610f16565b9350610e0b818560208601610faa565b610e1481610fd6565b9093019392505050565b6000610e2b601b83610f16565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610e638284610dab565b50602001919050565b6000610e788289610db7565b9150610e848288610d9f565b600282019150610e948287610db7565b9150610ea08286610d9f565b600282019150610eb08285610db7565b9150610ebc8284610d88565b506001019695505050505050565b602080825281016106e78184610de6565b6020808252810161075181610e1e565b60405181810167ffffffffffffffff81118282101715610f0a57600080fd5b604052919050565b5190565b90815260200190565b600061075182610f91565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b60005b83811015610fc5578181015183820152602001610fad565b8381111561006e5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b61100781610f1f565b811461101257600080fd5b50565b61100781610f2a565b61100781610f79565b61100781610f7c56fea365627a7a72315820e8c59179f5ca25e26d81e39d0f7b0245b23c8d062f85c4378104b76fef4f05786c6578706572696d656e74616cf564736f6c63430005100040", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806381379a5e1461003a575b600080fd5b81801561004657600080fd5b5061005a610055366004610d27565b61005c565b005b61006e8484848463ffffffff61007416565b50505050565b61007c610c62565b61008d85858563ffffffff61055216565b905061009981836105d2565b156100a4575061006e565b6100ac610c62565b6100bc868563ffffffff61064516565b8251909150156101295761010d61010883602001516fffffffffffffffffffffffffffffffff1683602001516fffffffffffffffffffffffffffffffff166106a590919063ffffffff16565b6106ee565b6fffffffffffffffffffffffffffffffff16602082015261016e565b6020820151815161015991610108916fffffffffffffffffffffffffffffffff908116911663ffffffff6106a516565b6fffffffffffffffffffffffffffffffff1681525b8251156101d3576101b761010884602001516fffffffffffffffffffffffffffffffff1683602001516fffffffffffffffffffffffffffffffff1661075990919063ffffffff16565b6fffffffffffffffffffffffffffffffff166020820152610218565b6020830151815161020391610108916fffffffffffffffffffffffffffffffff908116911663ffffffff61075916565b6fffffffffffffffffffffffffffffffff1681525b610221826107a1565b80156102315750610231836107cb565b156102ce57845173ffffffffffffffffffffffffffffffffffffffff1660009081526003870160209081526040808320828901518452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff61010080840482169290920116027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff909116179055610360565b6102d7826107cb565b80156102e757506102e7836107a1565b1561036057845173ffffffffffffffffffffffffffffffffffffffff16600090815260038701602090815260408083208289015184529091529020805463ffffffff6101008083048216600101909116027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff9091161790555b610369836107e1565b801561037b5750610379826107e1565b155b156103cf57845173ffffffffffffffffffffffffffffffffffffffff166000908152600387016020908152604080832082890151845290915290206103c9906001018563ffffffff6107fb16565b50610439565b6103d8836107e1565b1580156103e957506103e9826107e1565b1561043957845173ffffffffffffffffffffffffffffffffffffffff16600090815260038701602090815260408083208289015184529091529020610437906001018563ffffffff6108e116565b505b6000848152600180880160209081526040808420855193018054958301516fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029481167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090971696909617861693909317909255875173ffffffffffffffffffffffffffffffffffffffff1683526003808a018252828420898301518552825282842088855201815291208451815492860151909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090931692909217929092161790555050505050565b61055a610c62565b50815173ffffffffffffffffffffffffffffffffffffffff1660009081526003938401602090815260408083209482015183529381528382209282529190930181529181902081518083019092525460ff81161515825261010090046fffffffffffffffffffffffffffffffff169181019190915290565b600081602001516fffffffffffffffffffffffffffffffff1683602001516fffffffffffffffffffffffffffffffff16141561063b5760208301516fffffffffffffffffffffffffffffffff1661062b5750600161063f565b508051825115159015151461063f565b5060005b92915050565b61064d610c62565b506000818152600180840160209081526040928390208351808501909452909101546fffffffffffffffffffffffffffffffff8082168452700100000000000000000000000000000000909104169082015292915050565b60006106e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061092b565b9392505050565b6000816107516fffffffffffffffffffffffffffffffff821682147f4d617468000000000000000000000000000000000000000000000000000000007f556e73616665206361737420746f2075696e743132380000000000000000000084610971565b90505b919050565b6000828201838110156106e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079890610edb565b60405180910390fd5b600081602001516fffffffffffffffffffffffffffffffff16600014158015610751575050511590565b60006107d6826107e1565b806107515750505190565b602001516fffffffffffffffffffffffffffffffff161590565b600081815260018301602052604081205480156108d75783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808301910180821461089157600086600001828154811061085257fe5b906000526020600020015490508087600001848154811061086f57fe5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061089c57fe5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061063f565b600091505061063f565b60006108ed8383610a67565b6109235750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561063f565b50600061063f565b60008184841115610969576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107989190610eca565b505050900390565b8361006e5761097f83610a7f565b7f3a200000000000000000000000000000000000000000000000000000000000006109a984610a7f565b7f203c0000000000000000000000000000000000000000000000000000000000006109d385610b53565b604051610a099594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001610e6c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261079891600401610eca565b60009081526001919091016020526040902054151590565b60608082604051602001610a939190610e57565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b8015610b3c5781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910190829082908110610aff57fe5b01602001517fff000000000000000000000000000000000000000000000000000000000000001615610b375760010181529050610754565b610ac6565b505060408051600081526020810190915292915050565b606081610b94575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610754565b8160005b8115610bac57600101600a82049150610b98565b6060816040519080825280601f01601f191660200182016040528015610bd9576020820181803883390190505b508593509050815b8015610c59577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01600a840660300160f81b828281518110610c1f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84049350610be1565b50949350505050565b604080518082019091526000808252602082015290565b803561063f81610ffe565b803561063f81611015565b600060408284031215610ca157600080fd5b610cab6040610eeb565b90506000610cb98484610c79565b8252506020610cca84848301610d11565b60208301525092915050565b600060408284031215610ce857600080fd5b610cf26040610eeb565b90506000610d008484610c84565b8252506020610cca84848301610d1c565b803561063f8161101e565b803561063f81611027565b60008060008060c08587031215610d3d57600080fd5b6000610d498787610d11565b9450506020610d5a87828801610c8f565b9350506060610d6b87828801610d11565b9250506080610d7c87828801610cd6565b91505092959194509250565b610d99610d9482610f2f565b610f79565b82525050565b610d99610d9482610f54565b610d99610d9482610f79565b6000610dc282610f12565b610dcc8185610754565b9350610ddc818560208601610faa565b9290920192915050565b6000610df182610f12565b610dfb8185610f16565b9350610e0b818560208601610faa565b610e1481610fd6565b9093019392505050565b6000610e2b601b83610f16565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610e638284610dab565b50602001919050565b6000610e788289610db7565b9150610e848288610d9f565b600282019150610e948287610db7565b9150610ea08286610d9f565b600282019150610eb08285610db7565b9150610ebc8284610d88565b506001019695505050505050565b602080825281016106e78184610de6565b6020808252810161075181610e1e565b60405181810167ffffffffffffffff81118282101715610f0a57600080fd5b604052919050565b5190565b90815260200190565b600061075182610f91565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6fffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b60005b83811015610fc5578181015183820152602001610fad565b8381111561006e5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b61100781610f1f565b811461101257600080fd5b50565b61100781610f2a565b61100781610f79565b61100781610f7c56fea365627a7a72315820e8c59179f5ca25e26d81e39d0f7b0245b23c8d062f85c4378104b76fef4f05786c6578706572696d656e74616cf564736f6c63430005100040", "sourceMap": "940:291:131:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", "deployedSourceMap": "940:291:131:-;;;;;;;;;;;;;;;;;;;;;;;;1010:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1010:218:131;;;;;;;;:::i;:::-;;;1182:39;:5;1195:7;1204:8;1214:6;1182:39;:12;:39;:::i;:::-;1010:218;;;;:::o;28148:2057:101:-;28334:23;;:::i;:::-;28360:31;:5;28373:7;28382:8;28360:31;:12;:31;:::i;:::-;28334:57;;28406:28;28419:6;28427;28406:12;:28::i;:::-;28402:96;;;28481:7;;;28402:96;28534:30;;:::i;:::-;28567:27;:5;28585:8;28567:27;:17;:27;:::i;:::-;28637:11;;28534:60;;-1:-1:-1;28633:209:101;;;28682:50;:42;28711:6;:12;;;28682:42;;28690:8;:15;;;28682:24;;:28;;:42;;;;:::i;:::-;:48;:50::i;:::-;28664:68;;:15;;;:68;28633:209;;;28810:12;;;;28789:15;;28781:50;;:42;;;:24;;;;:42;;:28;:42;:::i;:50::-;28763:68;;;;28633:209;28887:11;;28883:209;;;28932:50;:42;28961:6;:12;;;28932:42;;28940:8;:15;;;28932:24;;:28;;:42;;;;:::i;:50::-;28914:68;;:15;;;:68;28883:209;;;29060:12;;;;29039:15;;29031:50;;:42;;;:24;;;;:42;;:28;:42;:::i;:50::-;29013:68;;;;28883:209;29106:23;:6;:21;:23::i;:::-;:62;;;;;29133:35;:6;:33;:35::i;:::-;29102:464;;;29263:13;;29248:29;;;;;;:14;;;:29;;;;;;;;29278:14;;;;29248:45;;;;;;;:74;;;;;;;;;;;;;;;;;;;;;;;29102:464;;;29343:35;:6;:33;:35::i;:::-;:62;;;;;29382:23;:6;:21;:23::i;:::-;29339:227;;;29496:13;;29481:29;;;;;;:14;;;:29;;;;;;;;29511:14;;;;29481:45;;;;;;;:74;;;;;;;;;29554:1;29481:74;;;;;;;;;;;;29339:227;29580:15;:6;:13;:15::i;:::-;:37;;;;;29601:15;:6;:13;:15::i;:::-;29600:16;29580:37;29576:486;;;29738:13;;29723:29;;;;;;:14;;;:29;;;;;;;;29753:14;;;;29723:45;;;;;;;:91;;:74;;29805:8;29723:91;:81;:91;:::i;:::-;;29576:486;;;29837:15;:6;:13;:15::i;:::-;29836:16;29835:37;;;;;29857:15;:6;:13;:15::i;:::-;29831:231;;;29978:13;;29963:29;;;;;;:14;;;:29;;;;;;;;29993:14;;;;29963:45;;;;;;;:88;;:74;;30042:8;29963:88;:78;:88;:::i;:::-;;29831:231;30072:23;;;;:13;;;;:23;;;;;;;;:43;;:32;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30140:13;;30125:29;;;;:14;;;;:29;;;;;30155:14;;;;30125:45;;;;;;;:64;;;:54;:64;;;;:73;;;;;;;;;;;30072:43;30125:73;;;;;;;;;;;;;;;;;;;;-1:-1:-1;28148:2057:101;;;;:::o;12006:279::-;12175:16;;:::i;:::-;-1:-1:-1;12229:13:101;;12214:29;;;;;;:14;;;;:29;;;;;;;;12244:14;;;;12214:45;;;;;;;;:64;;;:54;;;;:64;;;;;;12207:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12006:279::o;2928:308:104:-;3041:4;3076:1;:7;;;3065:18;;:1;:7;;;:18;;;3061:147;;;3103:7;;;;:12;;3099:62;;-1:-1:-1;3142:4:104;3135:11;;3099:62;-1:-1:-1;3191:6:104;;3181;;:16;;;;;;3174:23;;3061:147;-1:-1:-1;3224:5:104;2928:308;;;;;:::o;10054:220:101:-;10191:21;;:::i;:::-;-1:-1:-1;10235:23:101;;;;:13;;;;:23;;;;;;;;;10228:39;;;;;;;;10235:32;;;10228:39;;;;;;;;;;;;;;;;10054:220;;;;:::o;1274:134:150:-;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1351:50;1274:134;-1:-1:-1;;;1274:134:150:o;2811:315:92:-;2903:7;2951:6;2968:128;2994:16;;;;;3024:4;2968:128;2951:6;2968:12;:128::i;:::-;3113:6;-1:-1:-1;2811:315:92;;;;:::o;834:176:150:-;892:7;923:5;;;946:6;;;;938:46;;;;;;;;;;;;;;;;;;;;;3909:156:104;4008:4;4035:1;:7;;;:12;;4046:1;4035:12;;:23;;;;-1:-1:-1;;4052:6:104;4051:7;;3909:156::o;4071:164::-;4182:4;4209:9;4216:1;4209:6;:9::i;:::-;:19;;;-1:-1:-1;;4222:6:104;;4071:164::o;3766:137::-;3884:7;;;:12;;;;3766:137::o;1656:1437:93:-;1722:4;1859:27;;;:20;;;:27;;;;;;1901:15;;1897:1190;;2342:18;;2294:14;;;;;2342:22;2383:26;;;2379:406;;2429:17;2449:3;:11;;2461:9;2449:22;;;;;;;;;;;;;;;;2429:42;;2600:9;2571:3;:11;;2583:13;2571:26;;;;;;;;;;;;;;;;;;;:38;;;;2683:31;;;:20;;;:31;;;;;:44;;;2379:406;2888:17;;:3;;:17;;;;;;;;;;;;;;;;;;;;;;2980:3;:20;;:27;3001:5;2980:27;;;;;;;;;;;2973:34;;;3029:4;3022:11;;;;;;;1897:1190;3071:5;3064:12;;;;;1084:411;1147:4;1168:20;1177:3;1182:5;1168:8;:20::i;:::-;1163:326;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1204:11:93;:23;;;;;;;;;;;;;1392:18;;1362:27;;;:20;;;:27;;;;;;:48;;;;1424:11;;1163:326;-1:-1:-1;1473:5:93;1466:12;;1732:187:150;1818:7;1853:12;1845:6;;;;1837:29;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:150;;;1732:187::o;1726:561:99:-;1886:4;1881:400;;2000:24;2019:4;2000:18;:24::i;:::-;2050:5;2081:26;2100:6;2081:18;:26::i;:::-;2133:6;2165:19;2175:8;2165:9;:19::i;:::-;1958:280;;;;;;;;;2210:6;;1958:280;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;1958:280:99;;;;1906:364;;;;;;;;;3174:135:93;3247:4;3270:27;;;:20;;;;;:27;;;;;;:32;;;3174:135::o;6359:968:99:-;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;-1:-1:-1;;6359:968:99:o;7333:913::-;7427:12;7459:10;7455:51;;-1:-1:-1;7485:10:99;;;;;;;;;;;;;;;;;;;7455:51;7567:5;7555:9;7606:69;7613:6;;7606:69;;7635:8;;7662:2;7657:7;;;;7606:69;;;7716:17;7746:6;7736:17;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;7736:17:99;87:34:-1;135:17;;-1:-1;7736:17:99;-1:-1:-1;7845:5:99;;-1:-1:-1;7716:37:99;-1:-1:-1;7877:6:99;7860:358;7885:6;;7860:358;;8039:3;;8135:2;8131:1;:6;902:2;8117:21;8106:34;;8096:4;8101:1;8096:7;;;;;;;;;;;:44;;;;;;;;;;-1:-1:-1;8205:2:99;8200:7;;;;7860:358;;;-1:-1:-1;8235:4:99;7333:913;-1:-1:-1;;;;7333:913:99:o;940:291:131:-;;;;;;;;;;-1:-1:-1;940:291:131;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:124;206:20;;231:30;206:20;231:30;;299:468;;411:4;399:9;394:3;390:19;386:30;383:2;;;429:1;426;419:12;383:2;447:20;462:4;447:20;;;438:29;-1:-1;518:1;550:49;595:3;575:9;550:49;;;525:75;;-1:-1;663:2;696:49;741:3;717:22;;;696:49;;;689:4;682:5;678:16;671:75;621:136;377:390;;;;;797:462;;908:4;896:9;891:3;887:19;883:30;880:2;;;926:1;923;916:12;880:2;944:20;959:4;944:20;;;935:29;-1:-1;1014:1;1046:46;1088:3;1068:9;1046:46;;;1021:72;;-1:-1;1155:2;1188:49;1233:3;1209:22;;;1188:49;;1266:180;1358:20;;1383:58;1358:20;1383:58;;1453:130;1520:20;;1545:33;1520:20;1545:33;;1727:758;;;;;1952:3;1940:9;1931:7;1927:23;1923:33;1920:2;;;1969:1;1966;1959:12;1920:2;2004:1;2021:78;2091:7;2071:9;2021:78;;;2011:88;;1983:122;2136:2;2154:76;2222:7;2213:6;2202:9;2198:22;2154:76;;;2144:86;;2115:121;2267:2;2285:53;2330:7;2321:6;2310:9;2306:22;2285:53;;;2275:63;;2246:98;2375:3;2394:75;2461:7;2452:6;2441:9;2437:22;2394:75;;;2384:85;;2354:121;1914:571;;;;;;;;2492:148;2591:43;2610:23;2627:5;2610:23;;;2591:43;;;2586:3;2579:56;2573:67;;;2647:148;2746:43;2765:23;2782:5;2765:23;;2802:152;2903:45;2923:24;2941:5;2923:24;;2961:356;;3089:38;3121:5;3089:38;;;3139:88;3220:6;3215:3;3139:88;;;3132:95;;3232:52;3277:6;3272:3;3265:4;3258:5;3254:16;3232:52;;;3296:16;;;;;3069:248;-1:-1;;3069:248;3324:347;;3436:39;3469:5;3436:39;;;3487:71;3551:6;3546:3;3487:71;;;3480:78;;3563:52;3608:6;3603:3;3596:4;3589:5;3585:16;3563:52;;;3636:29;3658:6;3636:29;;;3627:39;;;;3416:255;-1:-1;;;3416:255;3679:327;;3839:67;3903:2;3898:3;3839:67;;;3939:29;3919:50;;3997:2;3988:12;;3825:181;-1:-1;;3825:181;4014:244;;4133:75;4204:3;4195:6;4133:75;;;-1:-1;4230:2;4221:12;;4121:137;-1:-1;4121:137;4265:978;;4579:93;4668:3;4659:6;4579:93;;;4572:100;;4683:73;4752:3;4743:6;4683:73;;;4778:1;4773:3;4769:11;4762:18;;4798:93;4887:3;4878:6;4798:93;;;4791:100;;4902:73;4971:3;4962:6;4902:73;;;4997:1;4992:3;4988:11;4981:18;;5017:93;5106:3;5097:6;5017:93;;;5010:100;;5121:73;5190:3;5181:6;5121:73;;;-1:-1;5216:1;5207:11;;4560:683;-1:-1;;;;;;4560:683;5250:301;5388:2;5402:47;;;5373:18;;5463:78;5373:18;5527:6;5463:78;;5558:407;5749:2;5763:47;;;5734:18;;5824:131;5734:18;5824:131;;5972:256;6034:2;6028:9;6060:17;;;6135:18;6120:34;;6156:22;;;6117:62;6114:2;;;6192:1;6189;6182:12;6114:2;6208;6201:22;6012:216;;-1:-1;6012:216;6235:121;6322:12;;6293:63;6646:163;6749:19;;;6798:4;6789:14;;6742:67;6817:91;;6879:24;6897:5;6879:24;;6915:85;6981:13;6974:21;;6957:43;7007:144;7079:66;7068:78;;7051:100;7158:144;7230:66;7219:78;;7202:100;7309:72;7371:5;7354:27;7492:113;7565:34;7554:46;;7537:68;7612:121;7685:42;7674:54;;7657:76;7820:268;7885:1;7892:101;7906:6;7903:1;7900:13;7892:101;;;7973:11;;;7967:18;7954:11;;;7947:39;7928:2;7921:10;7892:101;;;8008:6;8005:1;8002:13;7999:2;;;-1:-1;;8073:1;8055:16;;8048:27;7869:219;8337:97;8425:2;8405:14;8421:7;8401:28;;8385:49;8442:117;8511:24;8529:5;8511:24;;;8504:5;8501:35;8491:2;;8550:1;8547;8540:12;8491:2;8485:74;;8566:111;8632:21;8647:5;8632:21;;8684:167;8778:49;8821:5;8778:49;;8858:117;8927:24;8945:5;8927:24;", "source": "/*\n\n Copyright 2021 Dolomite.\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 { Account } from \"../protocol/lib/Account.sol\";\nimport { Storage } from \"../protocol/lib/Storage.sol\";\nimport { Types } from \"../protocol/lib/Types.sol\";\n\n\n/**\n * @dev This is used to split apart the call to state#setPar to lessen the bytecode size of TestDolomiteMargin.sol\n */\nlibrary TestOperationImpl {\n using Storage for Storage.State;\n\n function setPar(\n Storage.State storage state,\n Account.Info memory account,\n uint256 marketId,\n Types.Par memory newPar\n ) public {\n state.setPar(account, marketId, newPar);\n }\n\n}\n", "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestOperationImpl.sol", "ast": { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestOperationImpl.sol", "exportedSymbols": { "TestOperationImpl": [ 35781 ] }, "id": 35782, "nodeType": "SourceUnit", "nodes": [ { "id": 35750, "literals": [ "solidity", "^", "0.5", ".7" ], "nodeType": "PragmaDirective", "src": "595:23:131" }, { "id": 35751, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "619:33:131" }, { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol", "file": "../protocol/lib/Account.sol", "id": 35753, "nodeType": "ImportDirective", "scope": 35782, "sourceUnit": 24886, "src": "654:54:131", "symbolAliases": [ { "foreign": 35752, "local": null } ], "unitAlias": "" }, { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol", "file": "../protocol/lib/Storage.sol", "id": 35755, "nodeType": "ImportDirective", "scope": 35782, "sourceUnit": 30712, "src": "709:54:131", "symbolAliases": [ { "foreign": 35754, "local": null } ], "unitAlias": "" }, { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol", "file": "../protocol/lib/Types.sol", "id": 35757, "nodeType": "ImportDirective", "scope": 35782, "sourceUnit": 31362, "src": "764:50:131", "symbolAliases": [ { "foreign": 35756, "local": null } ], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": "@dev This is used to split apart the call to state#setPar to lessen the bytecode size of TestDolomiteMargin.sol", "fullyImplemented": true, "id": 35781, "linearizedBaseContracts": [ 35781 ], "name": "TestOperationImpl", "nodeType": "ContractDefinition", "nodes": [ { "id": 35760, "libraryName": { "contractScope": null, "id": 35758, "name": "Storage", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 30711, "src": "978:7:131", "typeDescriptions": { "typeIdentifier": "t_contract$_Storage_$30711", "typeString": "library Storage" } }, "nodeType": "UsingForDirective", "src": "972:32:131", "typeName": { "contractScope": null, "id": 35759, "name": "Storage.State", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 28760, "src": "990:13:131", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$28760_storage_ptr", "typeString": "struct Storage.State" } } }, { "body": { "id": 35779, "nodeType": "Block", "src": "1172:56:131", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 35774, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35764, "src": "1195:7:131", "typeDescriptions": { "typeIdentifier": "t_struct$_Info_$24851_memory_ptr", "typeString": "struct Account.Info memory" } }, { "argumentTypes": null, "id": 35775, "name": "marketId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35766, "src": "1204:8:131", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 35776, "name": "newPar", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35768, "src": "1214:6:131", "typeDescriptions": { "typeIdentifier": "t_struct$_Par_$30890_memory_ptr", "typeString": "struct Types.Par memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Info_$24851_memory_ptr", "typeString": "struct Account.Info memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_struct$_Par_$30890_memory_ptr", "typeString": "struct Types.Par memory" } ], "expression": { "argumentTypes": null, "id": 35771, "name": "state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35762, "src": "1182:5:131", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$28760_storage_ptr", "typeString": "struct Storage.State storage pointer" } }, "id": 35773, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "setPar", "nodeType": "MemberAccess", "referencedDeclaration": 30502, "src": "1182:12:131", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_State_$28760_storage_ptr_$_t_struct$_Info_$24851_memory_ptr_$_t_uint256_$_t_struct$_Par_$30890_memory_ptr_$returns$__$bound_to$_t_struct$_State_$28760_storage_ptr_$", "typeString": "function (struct Storage.State storage pointer,struct Account.Info memory,uint256,struct Types.Par memory)" } }, "id": 35777, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1182:39:131", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 35778, "nodeType": "ExpressionStatement", "src": "1182:39:131" } ] }, "documentation": null, "id": 35780, "implemented": true, "kind": "function", "modifiers": [], "name": "setPar", "nodeType": "FunctionDefinition", "parameters": { "id": 35769, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 35762, "name": "state", "nodeType": "VariableDeclaration", "scope": 35780, "src": "1035:27:131", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$28760_storage_ptr", "typeString": "struct Storage.State" }, "typeName": { "contractScope": null, "id": 35761, "name": "Storage.State", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 28760, "src": "1035:13:131", "typeDescriptions": { "typeIdentifier": "t_struct$_State_$28760_storage_ptr", "typeString": "struct Storage.State" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 35764, "name": "account", "nodeType": "VariableDeclaration", "scope": 35780, "src": "1072:27:131", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Info_$24851_memory_ptr", "typeString": "struct Account.Info" }, "typeName": { "contractScope": null, "id": 35763, "name": "Account.Info", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 24851, "src": "1072:12:131", "typeDescriptions": { "typeIdentifier": "t_struct$_Info_$24851_storage_ptr", "typeString": "struct Account.Info" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 35766, "name": "marketId", "nodeType": "VariableDeclaration", "scope": 35780, "src": "1109:16:131", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 35765, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1109:7:131", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 35768, "name": "newPar", "nodeType": "VariableDeclaration", "scope": 35780, "src": "1135:23:131", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Par_$30890_memory_ptr", "typeString": "struct Types.Par" }, "typeName": { "contractScope": null, "id": 35767, "name": "Types.Par", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 30890, "src": "1135:9:131", "typeDescriptions": { "typeIdentifier": "t_struct$_Par_$30890_storage_ptr", "typeString": "struct Types.Par" } }, "value": null, "visibility": "internal" } ], "src": "1025:139:131" }, "returnParameters": { "id": 35770, "nodeType": "ParameterList", "parameters": [], "src": "1172:0:131" }, "scope": 35781, "src": "1010:218:131", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 35782, "src": "940:291:131" } ], "src": "595:637:131" }, "legacyAST": { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestOperationImpl.sol", "exportedSymbols": { "TestOperationImpl": [ 35781 ] }, "id": 35782, "nodeType": "SourceUnit", "nodes": [ { "id": 35750, "literals": [ "solidity", "^", "0.5", ".7" ], "nodeType": "PragmaDirective", "src": "595:23:131" }, { "id": 35751, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "619:33:131" }, { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol", "file": "../protocol/lib/Account.sol", "id": 35753, "nodeType": "ImportDirective", "scope": 35782, "sourceUnit": 24886, "src": "654:54:131", "symbolAliases": [ { "foreign": 35752, "local": null } ], "unitAlias": "" }, { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol", "file": "../protocol/lib/Storage.sol", "id": 35755, "nodeType": "ImportDirective", "scope": 35782, "sourceUnit": 30712, "src": "709:54:131", "symbolAliases": [ { "foreign": 35754, "local": null } ], "unitAlias": "" }, { "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol", "file": "../protocol/lib/Types.sol", "id": 35757, "nodeType": "ImportDirective", "scope": 35782, "sourceUnit": 31362, "src": "764:50:131", "symbolAliases": [ { "foreign": 35756, "local": null } ], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library",