@pendle/core-v2 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +4 -0
  2. package/build/artifacts/contracts/interfaces/{IPPtLpOracle.sol/IPPtLpOracle.json → IPPYLpOracle.sol/IPPYLpOracle.json} +50 -2
  3. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  4. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  5. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +4 -0
  6. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +422 -0
  7. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +4 -0
  8. package/build/artifacts/contracts/oracles/{PendlePtOracleLib.sol/PendlePtOracleLib.json → PendlePYOracleLib.sol/PendlePYOracleLib.json} +4 -4
  9. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  10. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  11. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +4 -0
  12. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +183 -0
  13. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +4 -0
  14. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +183 -0
  15. package/contracts/interfaces/{IPPtLpOracle.sol → IPPYLpOracle.sol} +5 -1
  16. package/contracts/oracles/PendleLpOracleLib.sol +4 -4
  17. package/contracts/oracles/{PendlePtLpOracle.sol → PendlePYLpOracle.sol} +51 -21
  18. package/contracts/oracles/{PendlePtOracleLib.sol → PendlePYOracleLib.sol} +31 -1
  19. package/contracts/oracles/samples/BoringLpGlpOracle.sol +2 -2
  20. package/contracts/oracles/samples/{BoringPtUsdChainlinkOracle.sol → BoringPYUsdChainlinkAssetOracle.sol} +36 -12
  21. package/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol +102 -0
  22. package/deployments/1-core.json +1 -1
  23. package/deployments/10-core.json +1 -1
  24. package/deployments/42161-core.json +1 -1
  25. package/deployments/42161-markets/CAMELOT-PEP-ARBITRUM-JUNE2025.json +14 -0
  26. package/deployments/5000-core.json +1 -1
  27. package/deployments/56-core.json +1 -1
  28. package/package.json +1 -1
  29. package/typechain-types/PendlePYLpOracle.ts +10 -3
  30. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  31. package/typechain-types/factories/PendlePYLpOracle__factory.ts +12 -24
  32. package/typechain-types/hardhat.d.ts +36 -0
  33. package/typechain-types/index.ts +8 -0
  34. package/build/artifacts/contracts/interfaces/IPPtLpOracle.sol/IPPtLpOracle.dbg.json +0 -4
  35. package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.dbg.json +0 -4
  36. package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.json +0 -367
  37. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +0 -4
  38. package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.dbg.json +0 -4
  39. package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.json +0 -157
@@ -159,8 +159,8 @@
159
159
  "type": "function"
160
160
  }
161
161
  ],
162
- "bytecode": "0x60e06040523480156200001157600080fd5b5060405162001c8738038062001c8783398101604081905262000034916200012f565b63ffffffff831660808190526001600160a01b0383811660a081905283821660c05260405162439f4b60e91b815260048101919091526024810192909252600091829187169063873e960090604401606060405180830381865afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c79190620001a7565b92505091508180620000d7575080155b15620001065760405163685ddbe760e11b81528215156004820152811515602482015260440160405180910390fd5b505050505050620001f9565b80516001600160a01b03811681146200012a57600080fd5b919050565b600080600080608085870312156200014657600080fd5b620001518562000112565b9350602085015163ffffffff811681146200016b57600080fd5b92506200017b6040860162000112565b91506200018b6060860162000112565b905092959194509250565b805180151581146200012a57600080fd5b600080600060608486031215620001bd57600080fd5b620001c88462000196565b9250602084015161ffff81168114620001e057600080fd5b9150620001f06040850162000196565b90509250925092565b60805160a05160c051611a4c6200023b6000396000818160fb015261019701526000818160c7015261012d0152600081816061015261014f0152611a4c6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806326d895451461005c578063313ce5671461009d5780634c7198f4146100ac57806380f55605146100c2578063fa6db1bc146100f6575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405160128152602001610094565b6100b461011d565b604051908152602001610094565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b60405161009491906115ad565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b6000806101736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061022c565b60405163e245b5af60e01b8152600160048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e245b5af90602401602060405180830381865afa1580156101de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020291906115c1565b905068327cb2734119d3b7a9601e1b61021b83836115f0565b610225919061161d565b9250505090565b600080600061023a8561027f565b91509150600061024b8686846104af565b905081831061025e579250610279915050565b8161026984836115f0565b610273919061161d565b93505050505b92915050565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e79190611649565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906115c1565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b491906115c1565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611696565b801561048d575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048291906116b8565b6001600160801b0316145b1561049a578093506104a7565b6104a48582610646565b93505b505050915091565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016104df91906115ad565b61012060405180830381865afa1580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610521919061175b565b90506000428260a00151116105515761053e84836020015161065e565b825161054a91906117dd565b905061061d565b600061055e8386426106a2565b905060008061056e89868a6107a8565b91509150600061059761059285604001518561058a9190611805565b865190610818565b61083b565b905060006105dc6105a88385610c50565b6105ba90670de0b6b3a76400006117dd565b885160208801516105cc908690610818565b6105d69190611805565b90610c50565b90506105f2848289600001516105d691906117dd565b6105fc8285610c50565b866020015161060b9190611805565b61061591906117dd565b955050505050505b61063c610637836040015183610c5090919063ffffffff16565b610c76565b9695505050505050565b60008183116106555781610657565b825b9392505050565b60008060008312610670576001610674565b6000195b905061069061068b8561068686610c89565b610c9b565b610cba565b61069a9082611825565b949350505050565b6106cd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106106f15760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516107039190611855565b905061070f8582610cd0565b8252602085015161072190859061065e565b60208301528451158061073657506020820151155b15610769578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b61078785600001518661010001518460200151856000015185610d2c565b604083015260c085015161079b9082610dad565b6060830152509392505050565b6000806107d36107c461068b6001600160a01b03881686610de1565b670de0b6b3a764000090610c50565b915060006107f5856101000151428760a001516107f09190611855565b610dad565b9050600261080384836117dd565b61080d9190611868565b915050935093915050565b6000806108258385611825565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610860575068070c1cc73b00c800008213155b61089f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610760565b60008212156108d7576108b48260000361083b565b6a0c097ce7bc90715b34b9f160241b816108d0576108d0611607565b0592915050565b60006806f05b59d3b2000000831261091557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61094b565b6803782dace9d9000000831261094757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061094b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261099b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126109d7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a1157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a4b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610a8457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610abd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610af6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b2f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080610c65670de0b6b3a764000085611825565b905082818161083257610832611607565b600080821215610c8557600080fd5b5090565b6000808213610c855761027982611896565b6000670de0b6b3a7640000610cb084846115f0565b610657919061161d565b60006001600160ff1b03821115610c8557600080fd5b6000610cdb82610cba565b610ced61068b6201518061016d6115f0565b8460800151610cfc9190611825565b610d069190611868565b90506000811361027957604051630e520c3b60e11b815260048101829052602401610760565b600080610d398684610dad565b9050670de0b6b3a7640000811215610d675760405163329e322960e21b815260048101829052602401610760565b6000610d7d610d76878a6117dd565b8990610c50565b90506000610d8a82610eb1565b9050610d968187610c50565b610da09084611805565b9998505050505050505050565b600080610dbf6201518061016d6115f0565b610dc984866115f0565b610dd3919061161d565b905061069a61059282610cba565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906115c1565b9050428111610e6057670de0b6b3a7640000915050610279565b6000610e6c8585610f04565b90506000610e7a4284611855565b90506000610e8b6106378484610dad565b9050610e9f670de0b6b3a76400008261102b565b945050505050610279565b5092915050565b6000670de0b6b3a76400008203610edb5760405163a9c8b14d60e01b815260040160405180910390fd5b6000610ef9610ef284670de0b6b3a7640000611805565b8490610c50565b90506106578161105a565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610f3d57610f3d6118b2565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610f819085906004016118c8565b600060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fc69190810190611912565b90508363ffffffff1681600081518110610fe257610fe26118b2565b602002602001015182600181518110610ffd57610ffd6118b2565b602002602001015161100f91906119d0565b61101991906119f0565b6001600160d81b031695945050505050565b600080611040670de0b6b3a7640000856115f0565b905082818161105157611051611607565b04949350505050565b600080821361109b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610760565b670c7d713b49da0000821380156110b95750670f43fc2c04ee000082125b156110dd57670de0b6b3a76400006110d0836110eb565b816108d0576108d0611607565b6102798261120a565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161112c5761112c611607565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561124b57611242826a0c097ce7bc90715b34b9f160241b8161123c5761123c611607565b0561120a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126112965772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126112cd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611315576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611350576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261138757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126113be57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126113f35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261141e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611453576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611488576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126114bc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126114f0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161151957611519611607565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6000602082840312156115d357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610279576102796115da565b634e487b7160e01b600052601260045260246000fd5b60008261162c5761162c611607565b500490565b6001600160a01b038116811461164657600080fd5b50565b60008060006060848603121561165e57600080fd5b835161166981611631565b602085015190935061167a81611631565b604085015190925061168b81611631565b809150509250925092565b6000602082840312156116a857600080fd5b8151801515811461065757600080fd5b6000602082840312156116ca57600080fd5b81516001600160801b038116811461065757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561171a5761171a6116e1565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611748576117486116e1565b604052919050565b80516110e681611631565b6000610120828403121561176e57600080fd5b6117766116f7565b82518152602083015160208201526040830151604082015261179a60608401611750565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156117fd576117fd6115da565b505092915050565b8181036000831280158383131683831282161715610eaa57610eaa6115da565b80820260008212600160ff1b84141615611841576118416115da565b8181058314821517610279576102796115da565b81810381811115610279576102796115da565b60008261187757611877611607565b600160ff1b821460001984141615611891576118916115da565b500590565b6000600160ff1b82016118ab576118ab6115da565b5060000390565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561190657835163ffffffff16835292840192918401916001016118e4565b50909695505050505050565b6000602080838503121561192557600080fd5b82516001600160401b038082111561193c57600080fd5b818501915085601f83011261195057600080fd5b815181811115611962576119626116e1565b8060051b9150611973848301611720565b818152918301840191848101908884111561198d57600080fd5b938501935b838510156119c457845192506001600160d81b03831683146119b45760008081fd5b8282529385019390850190611992565b98975050505050505050565b6001600160d81b03828116828216039080821115610eaa57610eaa6115da565b60006001600160d81b0383811680611a0a57611a0a611607565b9216919091049291505056fea26469706673582212201b1d20c6b62e1bd1c1e9c2141efc4e7fc9619937e7683ea8c3f397244f4a2e0c64736f6c63430008170033",
163
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806326d895451461005c578063313ce5671461009d5780634c7198f4146100ac57806380f55605146100c2578063fa6db1bc146100f6575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405160128152602001610094565b6100b461011d565b604051908152602001610094565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b60405161009491906115ad565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b6000806101736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061022c565b60405163e245b5af60e01b8152600160048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e245b5af90602401602060405180830381865afa1580156101de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020291906115c1565b905068327cb2734119d3b7a9601e1b61021b83836115f0565b610225919061161d565b9250505090565b600080600061023a8561027f565b91509150600061024b8686846104af565b905081831061025e579250610279915050565b8161026984836115f0565b610273919061161d565b93505050505b92915050565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e79190611649565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906115c1565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b491906115c1565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611696565b801561048d575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048291906116b8565b6001600160801b0316145b1561049a578093506104a7565b6104a48582610646565b93505b505050915091565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016104df91906115ad565b61012060405180830381865afa1580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610521919061175b565b90506000428260a00151116105515761053e84836020015161065e565b825161054a91906117dd565b905061061d565b600061055e8386426106a2565b905060008061056e89868a6107a8565b91509150600061059761059285604001518561058a9190611805565b865190610818565b61083b565b905060006105dc6105a88385610c50565b6105ba90670de0b6b3a76400006117dd565b885160208801516105cc908690610818565b6105d69190611805565b90610c50565b90506105f2848289600001516105d691906117dd565b6105fc8285610c50565b866020015161060b9190611805565b61061591906117dd565b955050505050505b61063c610637836040015183610c5090919063ffffffff16565b610c76565b9695505050505050565b60008183116106555781610657565b825b9392505050565b60008060008312610670576001610674565b6000195b905061069061068b8561068686610c89565b610c9b565b610cba565b61069a9082611825565b949350505050565b6106cd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106106f15760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516107039190611855565b905061070f8582610cd0565b8252602085015161072190859061065e565b60208301528451158061073657506020820151155b15610769578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b61078785600001518661010001518460200151856000015185610d2c565b604083015260c085015161079b9082610dad565b6060830152509392505050565b6000806107d36107c461068b6001600160a01b03881686610de1565b670de0b6b3a764000090610c50565b915060006107f5856101000151428760a001516107f09190611855565b610dad565b9050600261080384836117dd565b61080d9190611868565b915050935093915050565b6000806108258385611825565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610860575068070c1cc73b00c800008213155b61089f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610760565b60008212156108d7576108b48260000361083b565b6a0c097ce7bc90715b34b9f160241b816108d0576108d0611607565b0592915050565b60006806f05b59d3b2000000831261091557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61094b565b6803782dace9d9000000831261094757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061094b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261099b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126109d7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a1157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a4b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610a8457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610abd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610af6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b2f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080610c65670de0b6b3a764000085611825565b905082818161083257610832611607565b600080821215610c8557600080fd5b5090565b6000808213610c855761027982611896565b6000670de0b6b3a7640000610cb084846115f0565b610657919061161d565b60006001600160ff1b03821115610c8557600080fd5b6000610cdb82610cba565b610ced61068b6201518061016d6115f0565b8460800151610cfc9190611825565b610d069190611868565b90506000811361027957604051630e520c3b60e11b815260048101829052602401610760565b600080610d398684610dad565b9050670de0b6b3a7640000811215610d675760405163329e322960e21b815260048101829052602401610760565b6000610d7d610d76878a6117dd565b8990610c50565b90506000610d8a82610eb1565b9050610d968187610c50565b610da09084611805565b9998505050505050505050565b600080610dbf6201518061016d6115f0565b610dc984866115f0565b610dd3919061161d565b905061069a61059282610cba565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906115c1565b9050428111610e6057670de0b6b3a7640000915050610279565b6000610e6c8585610f04565b90506000610e7a4284611855565b90506000610e8b6106378484610dad565b9050610e9f670de0b6b3a76400008261102b565b945050505050610279565b5092915050565b6000670de0b6b3a76400008203610edb5760405163a9c8b14d60e01b815260040160405180910390fd5b6000610ef9610ef284670de0b6b3a7640000611805565b8490610c50565b90506106578161105a565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610f3d57610f3d6118b2565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610f819085906004016118c8565b600060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fc69190810190611912565b90508363ffffffff1681600081518110610fe257610fe26118b2565b602002602001015182600181518110610ffd57610ffd6118b2565b602002602001015161100f91906119d0565b61101991906119f0565b6001600160d81b031695945050505050565b600080611040670de0b6b3a7640000856115f0565b905082818161105157611051611607565b04949350505050565b600080821361109b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610760565b670c7d713b49da0000821380156110b95750670f43fc2c04ee000082125b156110dd57670de0b6b3a76400006110d0836110eb565b816108d0576108d0611607565b6102798261120a565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161112c5761112c611607565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561124b57611242826a0c097ce7bc90715b34b9f160241b8161123c5761123c611607565b0561120a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126112965772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126112cd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611315576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611350576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261138757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126113be57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126113f35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261141e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611453576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611488576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126114bc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126114f0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161151957611519611607565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6000602082840312156115d357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610279576102796115da565b634e487b7160e01b600052601260045260246000fd5b60008261162c5761162c611607565b500490565b6001600160a01b038116811461164657600080fd5b50565b60008060006060848603121561165e57600080fd5b835161166981611631565b602085015190935061167a81611631565b604085015190925061168b81611631565b809150509250925092565b6000602082840312156116a857600080fd5b8151801515811461065757600080fd5b6000602082840312156116ca57600080fd5b81516001600160801b038116811461065757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561171a5761171a6116e1565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611748576117486116e1565b604052919050565b80516110e681611631565b6000610120828403121561176e57600080fd5b6117766116f7565b82518152602083015160208201526040830151604082015261179a60608401611750565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156117fd576117fd6115da565b505092915050565b8181036000831280158383131683831282161715610eaa57610eaa6115da565b80820260008212600160ff1b84141615611841576118416115da565b8181058314821517610279576102796115da565b81810381811115610279576102796115da565b60008261187757611877611607565b600160ff1b821460001984141615611891576118916115da565b500590565b6000600160ff1b82016118ab576118ab6115da565b5060000390565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561190657835163ffffffff16835292840192918401916001016118e4565b50909695505050505050565b6000602080838503121561192557600080fd5b82516001600160401b038082111561193c57600080fd5b818501915085601f83011261195057600080fd5b815181811115611962576119626116e1565b8060051b9150611973848301611720565b818152918301840191848101908884111561198d57600080fd5b938501935b838510156119c457845192506001600160d81b03831683146119b45760008081fd5b8282529385019390850190611992565b98975050505050505050565b6001600160d81b03828116828216039080821115610eaa57610eaa6115da565b60006001600160d81b0383811680611a0a57611a0a611607565b9216919091049291505056fea26469706673582212201b1d20c6b62e1bd1c1e9c2141efc4e7fc9619937e7683ea8c3f397244f4a2e0c64736f6c63430008170033",
162
+ "bytecode": "0x60e06040523480156200001157600080fd5b5060405162001c8738038062001c8783398101604081905262000034916200012f565b63ffffffff831660808190526001600160a01b0383811660a081905283821660c05260405162439f4b60e91b815260048101919091526024810192909252600091829187169063873e960090604401606060405180830381865afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c79190620001a7565b92505091508180620000d7575080155b15620001065760405163685ddbe760e11b81528215156004820152811515602482015260440160405180910390fd5b505050505050620001f9565b80516001600160a01b03811681146200012a57600080fd5b919050565b600080600080608085870312156200014657600080fd5b620001518562000112565b9350602085015163ffffffff811681146200016b57600080fd5b92506200017b6040860162000112565b91506200018b6060860162000112565b905092959194509250565b805180151581146200012a57600080fd5b600080600060608486031215620001bd57600080fd5b620001c88462000196565b9250602084015161ffff81168114620001e057600080fd5b9150620001f06040850162000196565b90509250925092565b60805160a05160c051611a4c6200023b6000396000818160fb015261019701526000818160c7015261012d0152600081816061015261014f0152611a4c6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806326d895451461005c578063313ce5671461009d5780634c7198f4146100ac57806380f55605146100c2578063fa6db1bc146100f6575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405160128152602001610094565b6100b461011d565b604051908152602001610094565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b60405161009491906115ad565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b6000806101736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061022c565b60405163e245b5af60e01b8152600160048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e245b5af90602401602060405180830381865afa1580156101de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020291906115c1565b905068327cb2734119d3b7a9601e1b61021b83836115f0565b610225919061161d565b9250505090565b600080600061023a8561027f565b91509150600061024b8686846104af565b905081831061025e579250610279915050565b8161026984836115f0565b610273919061161d565b93505050505b92915050565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e79190611649565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906115c1565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b491906115c1565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611696565b801561048d575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048291906116b8565b6001600160801b0316145b1561049a578093506104a7565b6104a48582610646565b93505b505050915091565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016104df91906115ad565b61012060405180830381865afa1580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610521919061175b565b90506000428260a00151116105515761053e84836020015161065e565b825161054a91906117dd565b905061061d565b600061055e8386426106a2565b905060008061056e89868a6107a8565b91509150600061059761059285604001518561058a9190611805565b865190610818565b61083b565b905060006105dc6105a88385610c50565b6105ba90670de0b6b3a76400006117dd565b885160208801516105cc908690610818565b6105d69190611805565b90610c50565b90506105f2848289600001516105d691906117dd565b6105fc8285610c50565b866020015161060b9190611805565b61061591906117dd565b955050505050505b61063c610637836040015183610c5090919063ffffffff16565b610c76565b9695505050505050565b60008183116106555781610657565b825b9392505050565b60008060008312610670576001610674565b6000195b905061069061068b8561068686610c89565b610c9b565b610cba565b61069a9082611825565b949350505050565b6106cd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106106f15760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516107039190611855565b905061070f8582610cd0565b8252602085015161072190859061065e565b60208301528451158061073657506020820151155b15610769578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b61078785600001518661010001518460200151856000015185610d2c565b604083015260c085015161079b9082610dad565b6060830152509392505050565b6000806107d36107c461068b6001600160a01b03881686610de1565b670de0b6b3a764000090610c50565b915060006107f5856101000151428760a001516107f09190611855565b610dad565b9050600261080384836117dd565b61080d9190611868565b915050935093915050565b6000806108258385611825565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610860575068070c1cc73b00c800008213155b61089f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610760565b60008212156108d7576108b48260000361083b565b6a0c097ce7bc90715b34b9f160241b816108d0576108d0611607565b0592915050565b60006806f05b59d3b2000000831261091557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61094b565b6803782dace9d9000000831261094757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061094b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261099b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126109d7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a1157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a4b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610a8457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610abd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610af6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b2f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080610c65670de0b6b3a764000085611825565b905082818161083257610832611607565b600080821215610c8557600080fd5b5090565b6000808213610c855761027982611896565b6000670de0b6b3a7640000610cb084846115f0565b610657919061161d565b60006001600160ff1b03821115610c8557600080fd5b6000610cdb82610cba565b610ced61068b6201518061016d6115f0565b8460800151610cfc9190611825565b610d069190611868565b90506000811361027957604051630e520c3b60e11b815260048101829052602401610760565b600080610d398684610dad565b9050670de0b6b3a7640000811215610d675760405163329e322960e21b815260048101829052602401610760565b6000610d7d610d76878a6117dd565b8990610c50565b90506000610d8a82610eb1565b9050610d968187610c50565b610da09084611805565b9998505050505050505050565b600080610dbf6201518061016d6115f0565b610dc984866115f0565b610dd3919061161d565b905061069a61059282610cba565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906115c1565b9050428111610e6057670de0b6b3a7640000915050610279565b6000610e6c8585610f04565b90506000610e7a4284611855565b90506000610e8b6106378484610dad565b9050610e9f670de0b6b3a76400008261102b565b945050505050610279565b5092915050565b6000670de0b6b3a76400008203610edb5760405163a9c8b14d60e01b815260040160405180910390fd5b6000610ef9610ef284670de0b6b3a7640000611805565b8490610c50565b90506106578161105a565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610f3d57610f3d6118b2565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610f819085906004016118c8565b600060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fc69190810190611912565b90508363ffffffff1681600081518110610fe257610fe26118b2565b602002602001015182600181518110610ffd57610ffd6118b2565b602002602001015161100f91906119d0565b61101991906119f0565b6001600160d81b031695945050505050565b600080611040670de0b6b3a7640000856115f0565b905082818161105157611051611607565b04949350505050565b600080821361109b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610760565b670c7d713b49da0000821380156110b95750670f43fc2c04ee000082125b156110dd57670de0b6b3a76400006110d0836110eb565b816108d0576108d0611607565b6102798261120a565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161112c5761112c611607565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561124b57611242826a0c097ce7bc90715b34b9f160241b8161123c5761123c611607565b0561120a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126112965772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126112cd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611315576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611350576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261138757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126113be57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126113f35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261141e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611453576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611488576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126114bc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126114f0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161151957611519611607565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6000602082840312156115d357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610279576102796115da565b634e487b7160e01b600052601260045260246000fd5b60008261162c5761162c611607565b500490565b6001600160a01b038116811461164657600080fd5b50565b60008060006060848603121561165e57600080fd5b835161166981611631565b602085015190935061167a81611631565b604085015190925061168b81611631565b809150509250925092565b6000602082840312156116a857600080fd5b8151801515811461065757600080fd5b6000602082840312156116ca57600080fd5b81516001600160801b038116811461065757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561171a5761171a6116e1565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611748576117486116e1565b604052919050565b80516110e681611631565b6000610120828403121561176e57600080fd5b6117766116f7565b82518152602083015160208201526040830151604082015261179a60608401611750565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156117fd576117fd6115da565b505092915050565b8181036000831280158383131683831282161715610eaa57610eaa6115da565b80820260008212600160ff1b84141615611841576118416115da565b8181058314821517610279576102796115da565b81810381811115610279576102796115da565b60008261187757611877611607565b600160ff1b821460001984141615611891576118916115da565b500590565b6000600160ff1b82016118ab576118ab6115da565b5060000390565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561190657835163ffffffff16835292840192918401916001016118e4565b50909695505050505050565b6000602080838503121561192557600080fd5b82516001600160401b038082111561193c57600080fd5b818501915085601f83011261195057600080fd5b815181811115611962576119626116e1565b8060051b9150611973848301611720565b818152918301840191848101908884111561198d57600080fd5b938501935b838510156119c457845192506001600160d81b03831683146119b45760008081fd5b8282529385019390850190611992565b98975050505050505050565b6001600160d81b03828116828216039080821115610eaa57610eaa6115da565b60006001600160d81b0383811680611a0a57611a0a611607565b9216919091049291505056fea2646970667358221220fa47ab8ac91376d35ff4d4843c32dc9ed4c7dd405243e1a5d3190843cdce525964736f6c63430008170033",
163
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806326d895451461005c578063313ce5671461009d5780634c7198f4146100ac57806380f55605146100c2578063fa6db1bc146100f6575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405160128152602001610094565b6100b461011d565b604051908152602001610094565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b60405161009491906115ad565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b6000806101736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061022c565b60405163e245b5af60e01b8152600160048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e245b5af90602401602060405180830381865afa1580156101de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020291906115c1565b905068327cb2734119d3b7a9601e1b61021b83836115f0565b610225919061161d565b9250505090565b600080600061023a8561027f565b91509150600061024b8686846104af565b905081831061025e579250610279915050565b8161026984836115f0565b610273919061161d565b93505050505b92915050565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e79190611649565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906115c1565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b491906115c1565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611696565b801561048d575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048291906116b8565b6001600160801b0316145b1561049a578093506104a7565b6104a48582610646565b93505b505050915091565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016104df91906115ad565b61012060405180830381865afa1580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610521919061175b565b90506000428260a00151116105515761053e84836020015161065e565b825161054a91906117dd565b905061061d565b600061055e8386426106a2565b905060008061056e89868a6107a8565b91509150600061059761059285604001518561058a9190611805565b865190610818565b61083b565b905060006105dc6105a88385610c50565b6105ba90670de0b6b3a76400006117dd565b885160208801516105cc908690610818565b6105d69190611805565b90610c50565b90506105f2848289600001516105d691906117dd565b6105fc8285610c50565b866020015161060b9190611805565b61061591906117dd565b955050505050505b61063c610637836040015183610c5090919063ffffffff16565b610c76565b9695505050505050565b60008183116106555781610657565b825b9392505050565b60008060008312610670576001610674565b6000195b905061069061068b8561068686610c89565b610c9b565b610cba565b61069a9082611825565b949350505050565b6106cd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106106f15760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516107039190611855565b905061070f8582610cd0565b8252602085015161072190859061065e565b60208301528451158061073657506020820151155b15610769578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b61078785600001518661010001518460200151856000015185610d2c565b604083015260c085015161079b9082610dad565b6060830152509392505050565b6000806107d36107c461068b6001600160a01b03881686610de1565b670de0b6b3a764000090610c50565b915060006107f5856101000151428760a001516107f09190611855565b610dad565b9050600261080384836117dd565b61080d9190611868565b915050935093915050565b6000806108258385611825565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610860575068070c1cc73b00c800008213155b61089f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610760565b60008212156108d7576108b48260000361083b565b6a0c097ce7bc90715b34b9f160241b816108d0576108d0611607565b0592915050565b60006806f05b59d3b2000000831261091557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61094b565b6803782dace9d9000000831261094757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061094b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261099b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126109d7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a1157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a4b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610a8457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610abd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610af6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b2f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080610c65670de0b6b3a764000085611825565b905082818161083257610832611607565b600080821215610c8557600080fd5b5090565b6000808213610c855761027982611896565b6000670de0b6b3a7640000610cb084846115f0565b610657919061161d565b60006001600160ff1b03821115610c8557600080fd5b6000610cdb82610cba565b610ced61068b6201518061016d6115f0565b8460800151610cfc9190611825565b610d069190611868565b90506000811361027957604051630e520c3b60e11b815260048101829052602401610760565b600080610d398684610dad565b9050670de0b6b3a7640000811215610d675760405163329e322960e21b815260048101829052602401610760565b6000610d7d610d76878a6117dd565b8990610c50565b90506000610d8a82610eb1565b9050610d968187610c50565b610da09084611805565b9998505050505050505050565b600080610dbf6201518061016d6115f0565b610dc984866115f0565b610dd3919061161d565b905061069a61059282610cba565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906115c1565b9050428111610e6057670de0b6b3a7640000915050610279565b6000610e6c8585610f04565b90506000610e7a4284611855565b90506000610e8b6106378484610dad565b9050610e9f670de0b6b3a76400008261102b565b945050505050610279565b5092915050565b6000670de0b6b3a76400008203610edb5760405163a9c8b14d60e01b815260040160405180910390fd5b6000610ef9610ef284670de0b6b3a7640000611805565b8490610c50565b90506106578161105a565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610f3d57610f3d6118b2565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610f819085906004016118c8565b600060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fc69190810190611912565b90508363ffffffff1681600081518110610fe257610fe26118b2565b602002602001015182600181518110610ffd57610ffd6118b2565b602002602001015161100f91906119d0565b61101991906119f0565b6001600160d81b031695945050505050565b600080611040670de0b6b3a7640000856115f0565b905082818161105157611051611607565b04949350505050565b600080821361109b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610760565b670c7d713b49da0000821380156110b95750670f43fc2c04ee000082125b156110dd57670de0b6b3a76400006110d0836110eb565b816108d0576108d0611607565b6102798261120a565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161112c5761112c611607565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561124b57611242826a0c097ce7bc90715b34b9f160241b8161123c5761123c611607565b0561120a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126112965772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126112cd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611315576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611350576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261138757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126113be57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126113f35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261141e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611453576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611488576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126114bc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126114f0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161151957611519611607565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6000602082840312156115d357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610279576102796115da565b634e487b7160e01b600052601260045260246000fd5b60008261162c5761162c611607565b500490565b6001600160a01b038116811461164657600080fd5b50565b60008060006060848603121561165e57600080fd5b835161166981611631565b602085015190935061167a81611631565b604085015190925061168b81611631565b809150509250925092565b6000602082840312156116a857600080fd5b8151801515811461065757600080fd5b6000602082840312156116ca57600080fd5b81516001600160801b038116811461065757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561171a5761171a6116e1565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611748576117486116e1565b604052919050565b80516110e681611631565b6000610120828403121561176e57600080fd5b6117766116f7565b82518152602083015160208201526040830151604082015261179a60608401611750565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156117fd576117fd6115da565b505092915050565b8181036000831280158383131683831282161715610eaa57610eaa6115da565b80820260008212600160ff1b84141615611841576118416115da565b8181058314821517610279576102796115da565b81810381811115610279576102796115da565b60008261187757611877611607565b600160ff1b821460001984141615611891576118916115da565b500590565b6000600160ff1b82016118ab576118ab6115da565b5060000390565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561190657835163ffffffff16835292840192918401916001016118e4565b50909695505050505050565b6000602080838503121561192557600080fd5b82516001600160401b038082111561193c57600080fd5b818501915085601f83011261195057600080fd5b815181811115611962576119626116e1565b8060051b9150611973848301611720565b818152918301840191848101908884111561198d57600080fd5b938501935b838510156119c457845192506001600160d81b03831683146119b45760008081fd5b8282529385019390850190611992565b98975050505050505050565b6001600160d81b03828116828216039080821115610eaa57610eaa6115da565b60006001600160d81b0383811680611a0a57611a0a611607565b9216919091049291505056fea2646970667358221220fa47ab8ac91376d35ff4d4843c32dc9ed4c7dd405243e1a5d3190843cdce525964736f6c63430008170033",
164
164
  "linkReferences": {},
165
165
  "deployedLinkReferences": {}
166
166
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/8b65bffe97fb052fdf429251768b9af3.json"
4
+ }
@@ -0,0 +1,183 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BoringPYUsdChainlinkAssetOracle",
4
+ "sourceName": "contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint32",
10
+ "name": "_twapDuration",
11
+ "type": "uint32"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_market",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_feed",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_pyLpOracle",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "uint32",
36
+ "name": "duration",
37
+ "type": "uint32"
38
+ }
39
+ ],
40
+ "name": "AdditionalWaitRequired",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "uint16",
47
+ "name": "cardinalityRequired",
48
+ "type": "uint16"
49
+ }
50
+ ],
51
+ "name": "IncreaseCardinalityRequired",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [],
56
+ "name": "checkOracleState",
57
+ "outputs": [],
58
+ "stateMutability": "view",
59
+ "type": "function"
60
+ },
61
+ {
62
+ "inputs": [],
63
+ "name": "feed",
64
+ "outputs": [
65
+ {
66
+ "internalType": "address",
67
+ "name": "",
68
+ "type": "address"
69
+ }
70
+ ],
71
+ "stateMutability": "view",
72
+ "type": "function"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "feedDecimals",
77
+ "outputs": [
78
+ {
79
+ "internalType": "uint8",
80
+ "name": "",
81
+ "type": "uint8"
82
+ }
83
+ ],
84
+ "stateMutability": "view",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "getPtPriceSample1",
90
+ "outputs": [
91
+ {
92
+ "internalType": "uint256",
93
+ "name": "",
94
+ "type": "uint256"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "getPtPriceSample2",
103
+ "outputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "getYtPriceSample1",
116
+ "outputs": [
117
+ {
118
+ "internalType": "uint256",
119
+ "name": "",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "getYtPriceSample2",
129
+ "outputs": [
130
+ {
131
+ "internalType": "uint256",
132
+ "name": "",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "stateMutability": "view",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "market",
142
+ "outputs": [
143
+ {
144
+ "internalType": "address",
145
+ "name": "",
146
+ "type": "address"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [],
154
+ "name": "pyLpOracle",
155
+ "outputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "stateMutability": "view",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "twapDuration",
168
+ "outputs": [
169
+ {
170
+ "internalType": "uint32",
171
+ "name": "",
172
+ "type": "uint32"
173
+ }
174
+ ],
175
+ "stateMutability": "view",
176
+ "type": "function"
177
+ }
178
+ ],
179
+ "bytecode": "0x6101206040523480156200001257600080fd5b50604051620016fe380380620016fe8339810160408190526200003591620000f0565b63ffffffff84166080526001600160a01b0380841660a052821660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b6919062000157565b60ff1660e0526001600160a01b0316610100525062000183915050565b80516001600160a01b0381168114620000eb57600080fd5b919050565b600080600080608085870312156200010757600080fd5b845163ffffffff811681146200011c57600080fd5b93506200012c60208601620000d3565b92506200013c60408601620000d3565b91506200014c60608601620000d3565b905092959194509250565b6000602082840312156200016a57600080fd5b815160ff811681146200017c57600080fd5b9392505050565b60805160a05160c05160e051610100516114ba620002446000396000818161015d0152818161025f01528181610387015261041a01526000818161018c0152818161063f0152818161066d01526106b001526000818160f701526105b9015260008181610136015281816101e20152818161028e0152818161033c015281816103b6015261044901526000818160b301528181610204015281816102af0152818161035e015281816103d70152818161046a015261053001526114ba6000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c8063223a3b261461009357806326d89545146100ae5780632f467dab146100ea57806337a7b7d8146100f257806380f55605146101315780638ca06ea614610158578063addccbb31461017f578063c23953d014610187578063e710b82f146101c0578063f9294d8b146101c8575b600080fd5b61009b6101d2565b6040519081526020015b60405180910390f35b6100d57f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100a5565b61009b61025a565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a5565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b61009b61032c565b6101ae7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a5565b61009b610382565b6101d0610413565b005b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610562565b905060006102346105b4565b9050670de0b6b3a7640000610249838361104b565b6102539190611078565b9250505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb0856fe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108c565b602060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022891906110ab565b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006106f1565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663abca0eab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108c565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016104a692919061108c565b606060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e791906110d9565b9250925092508215610517576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061055d57604051631229555360e01b815263ffffffff7f000000000000000000000000000000000000000000000000000000000000000016600482015260240161050e565b505050565b600080600061057085610720565b9150915080821061058e576105858585610950565b925050506105ae565b808261059a8787610950565b6105a4919061104b565b6105859190611078565b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610615573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063991906110ab565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff16106106ab5761069160127f0000000000000000000000000000000000000000000000000000000000000000611125565b61069c90600a611222565b6106a69082611078565b6106eb565b6106d67f00000000000000000000000000000000000000000000000000000000000000006012611125565b6106e190600a611222565b6106eb908261104b565b91505090565b60008060006106ff85610720565b91509150808210610714576105858585610975565b808261059a8787610975565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610764573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107889190611249565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906110ab565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906110ab565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190611296565b801561092e575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092391906112b1565b6001600160801b0316145b1561093b57809350610948565b6109458582610a4a565b93505b505050915091565b600061095c8383610975565b61096e90670de0b6b3a76400006112da565b9392505050565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da91906110ab565b90504281116109f457670de0b6b3a76400009150506105ae565b6000610a008585610a60565b90506000610a0e42846112da565b90506000610a24610a1f8484610b87565b610bc8565b9050610a38670de0b6b3a764000082610bdb565b9450505050506105ae565b5092915050565b6000818311610a59578161096e565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610a9957610a99611303565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610add908590600401611319565b600060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b22919081019061137a565b90508363ffffffff1681600081518110610b3e57610b3e611303565b602002602001015182600181518110610b5957610b59611303565b6020026020010151610b6b919061143e565b610b75919061145e565b6001600160d81b031695945050505050565b600080610b996201518061016d61104b565b610ba3848661104b565b610bad9190611078565b9050610bc0610bbb82610c0a565b610c20565b949350505050565b600080821215610bd757600080fd5b5090565b600080610bf0670de0b6b3a76400008561104b565b9050828181610c0157610c01611062565b04949350505050565b60006001600160ff1b03821115610bd757600080fd5b6000680238fd42c5cf03ffff198212158015610c45575068070c1cc73b00c800008213155b610c845760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161050e565b6000821215610cbc57610c9982600003610c20565b6a0c097ce7bc90715b34b9f160241b81610cb557610cb5611062565b0592915050565b60006806f05b59d3b20000008312610cfa57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610d30565b6803782dace9d90000008312610d2c57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610d30565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610d805768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610dbc576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610df657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610e30576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610e6957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610ea25768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610edb576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610f145768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105ae576105ae611035565b634e487b7160e01b600052601260045260246000fd5b60008261108757611087611062565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602082840312156110bd57600080fd5b5051919050565b805180151581146110d457600080fd5b919050565b6000806000606084860312156110ee57600080fd5b6110f7846110c4565b9250602084015161ffff8116811461110e57600080fd5b915061111c604085016110c4565b90509250925092565b60ff82811682821603908111156105ae576105ae611035565b600181815b8085111561117957816000190482111561115f5761115f611035565b8085161561116c57918102915b93841c9390800290611143565b509250929050565b600082611190575060016105ae565b8161119d575060006105ae565b81600181146111b357600281146111bd576111d9565b60019150506105ae565b60ff8411156111ce576111ce611035565b50506001821b6105ae565b5060208310610133831016604e8410600b84101617156111fc575081810a6105ae565b611206838361113e565b806000190482111561121a5761121a611035565b029392505050565b600061096e60ff841683611181565b6001600160a01b038116811461124657600080fd5b50565b60008060006060848603121561125e57600080fd5b835161126981611231565b602085015190935061127a81611231565b604085015190925061128b81611231565b809150509250925092565b6000602082840312156112a857600080fd5b61096e826110c4565b6000602082840312156112c357600080fd5b81516001600160801b038116811461096e57600080fd5b818103818111156105ae576105ae611035565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561135757835163ffffffff1683529284019291840191600101611335565b50909695505050505050565b80516001600160d81b03811681146110d457600080fd5b6000602080838503121561138d57600080fd5b82516001600160401b03808211156113a457600080fd5b818501915085601f8301126113b857600080fd5b8151818111156113ca576113ca6112ed565b8060051b604051601f19603f830116810181811085821117156113ef576113ef6112ed565b60405291825284820192508381018501918883111561140d57600080fd5b938501935b828510156114325761142385611363565b84529385019392850192611412565b98975050505050505050565b6001600160d81b03828116828216039080821115610a4357610a43611035565b60006001600160d81b038381168061147857611478611062565b9216919091049291505056fea2646970667358221220eb374368e5fdbcf8d6ff8f41fa8a1450d1f59e053c5235c4ac66de22d1d63cc064736f6c63430008170033",
180
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c8063223a3b261461009357806326d89545146100ae5780632f467dab146100ea57806337a7b7d8146100f257806380f55605146101315780638ca06ea614610158578063addccbb31461017f578063c23953d014610187578063e710b82f146101c0578063f9294d8b146101c8575b600080fd5b61009b6101d2565b6040519081526020015b60405180910390f35b6100d57f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100a5565b61009b61025a565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a5565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b61009b61032c565b6101ae7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a5565b61009b610382565b6101d0610413565b005b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610562565b905060006102346105b4565b9050670de0b6b3a7640000610249838361104b565b6102539190611078565b9250505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb0856fe7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108c565b602060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022891906110ab565b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006106f1565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663abca0eab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108c565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016104a692919061108c565b606060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e791906110d9565b9250925092508215610517576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061055d57604051631229555360e01b815263ffffffff7f000000000000000000000000000000000000000000000000000000000000000016600482015260240161050e565b505050565b600080600061057085610720565b9150915080821061058e576105858585610950565b925050506105ae565b808261059a8787610950565b6105a4919061104b565b6105859190611078565b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610615573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063991906110ab565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff16106106ab5761069160127f0000000000000000000000000000000000000000000000000000000000000000611125565b61069c90600a611222565b6106a69082611078565b6106eb565b6106d67f00000000000000000000000000000000000000000000000000000000000000006012611125565b6106e190600a611222565b6106eb908261104b565b91505090565b60008060006106ff85610720565b91509150808210610714576105858585610975565b808261059a8787610975565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610764573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107889190611249565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906110ab565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906110ab565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190611296565b801561092e575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092391906112b1565b6001600160801b0316145b1561093b57809350610948565b6109458582610a4a565b93505b505050915091565b600061095c8383610975565b61096e90670de0b6b3a76400006112da565b9392505050565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da91906110ab565b90504281116109f457670de0b6b3a76400009150506105ae565b6000610a008585610a60565b90506000610a0e42846112da565b90506000610a24610a1f8484610b87565b610bc8565b9050610a38670de0b6b3a764000082610bdb565b9450505050506105ae565b5092915050565b6000818311610a59578161096e565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610a9957610a99611303565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610add908590600401611319565b600060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b22919081019061137a565b90508363ffffffff1681600081518110610b3e57610b3e611303565b602002602001015182600181518110610b5957610b59611303565b6020026020010151610b6b919061143e565b610b75919061145e565b6001600160d81b031695945050505050565b600080610b996201518061016d61104b565b610ba3848661104b565b610bad9190611078565b9050610bc0610bbb82610c0a565b610c20565b949350505050565b600080821215610bd757600080fd5b5090565b600080610bf0670de0b6b3a76400008561104b565b9050828181610c0157610c01611062565b04949350505050565b60006001600160ff1b03821115610bd757600080fd5b6000680238fd42c5cf03ffff198212158015610c45575068070c1cc73b00c800008213155b610c845760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161050e565b6000821215610cbc57610c9982600003610c20565b6a0c097ce7bc90715b34b9f160241b81610cb557610cb5611062565b0592915050565b60006806f05b59d3b20000008312610cfa57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610d30565b6803782dace9d90000008312610d2c57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610d30565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610d805768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610dbc576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610df657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610e30576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610e6957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610ea25768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610edb576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610f145768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105ae576105ae611035565b634e487b7160e01b600052601260045260246000fd5b60008261108757611087611062565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602082840312156110bd57600080fd5b5051919050565b805180151581146110d457600080fd5b919050565b6000806000606084860312156110ee57600080fd5b6110f7846110c4565b9250602084015161ffff8116811461110e57600080fd5b915061111c604085016110c4565b90509250925092565b60ff82811682821603908111156105ae576105ae611035565b600181815b8085111561117957816000190482111561115f5761115f611035565b8085161561116c57918102915b93841c9390800290611143565b509250929050565b600082611190575060016105ae565b8161119d575060006105ae565b81600181146111b357600281146111bd576111d9565b60019150506105ae565b60ff8411156111ce576111ce611035565b50506001821b6105ae565b5060208310610133831016604e8410600b84101617156111fc575081810a6105ae565b611206838361113e565b806000190482111561121a5761121a611035565b029392505050565b600061096e60ff841683611181565b6001600160a01b038116811461124657600080fd5b50565b60008060006060848603121561125e57600080fd5b835161126981611231565b602085015190935061127a81611231565b604085015190925061128b81611231565b809150509250925092565b6000602082840312156112a857600080fd5b61096e826110c4565b6000602082840312156112c357600080fd5b81516001600160801b038116811461096e57600080fd5b818103818111156105ae576105ae611035565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561135757835163ffffffff1683529284019291840191600101611335565b50909695505050505050565b80516001600160d81b03811681146110d457600080fd5b6000602080838503121561138d57600080fd5b82516001600160401b03808211156113a457600080fd5b818501915085601f8301126113b857600080fd5b8151818111156113ca576113ca6112ed565b8060051b604051601f19603f830116810181811085821117156113ef576113ef6112ed565b60405291825284820192508381018501918883111561140d57600080fd5b938501935b828510156114325761142385611363565b84529385019392850192611412565b98975050505050505050565b6001600160d81b03828116828216039080821115610a4357610a43611035565b60006001600160d81b038381168061147857611478611062565b9216919091049291505056fea2646970667358221220eb374368e5fdbcf8d6ff8f41fa8a1450d1f59e053c5235c4ac66de22d1d63cc064736f6c63430008170033",
181
+ "linkReferences": {},
182
+ "deployedLinkReferences": {}
183
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/8b65bffe97fb052fdf429251768b9af3.json"
4
+ }
@@ -0,0 +1,183 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BoringPYUsdChainlinkSYOracle",
4
+ "sourceName": "contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint32",
10
+ "name": "_twapDuration",
11
+ "type": "uint32"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_market",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_feed",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_pyLpOracle",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "uint32",
36
+ "name": "duration",
37
+ "type": "uint32"
38
+ }
39
+ ],
40
+ "name": "AdditionalWaitRequired",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "uint16",
47
+ "name": "cardinalityRequired",
48
+ "type": "uint16"
49
+ }
50
+ ],
51
+ "name": "IncreaseCardinalityRequired",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [],
56
+ "name": "checkOracleState",
57
+ "outputs": [],
58
+ "stateMutability": "view",
59
+ "type": "function"
60
+ },
61
+ {
62
+ "inputs": [],
63
+ "name": "feed",
64
+ "outputs": [
65
+ {
66
+ "internalType": "address",
67
+ "name": "",
68
+ "type": "address"
69
+ }
70
+ ],
71
+ "stateMutability": "view",
72
+ "type": "function"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "feedDecimals",
77
+ "outputs": [
78
+ {
79
+ "internalType": "uint8",
80
+ "name": "",
81
+ "type": "uint8"
82
+ }
83
+ ],
84
+ "stateMutability": "view",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "getPtPriceSample1",
90
+ "outputs": [
91
+ {
92
+ "internalType": "uint256",
93
+ "name": "",
94
+ "type": "uint256"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "getPtPriceSample2",
103
+ "outputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "getYtPriceSample1",
116
+ "outputs": [
117
+ {
118
+ "internalType": "uint256",
119
+ "name": "",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "getYtPriceSample2",
129
+ "outputs": [
130
+ {
131
+ "internalType": "uint256",
132
+ "name": "",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "stateMutability": "view",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "market",
142
+ "outputs": [
143
+ {
144
+ "internalType": "address",
145
+ "name": "",
146
+ "type": "address"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [],
154
+ "name": "pyLpOracle",
155
+ "outputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "stateMutability": "view",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "twapDuration",
168
+ "outputs": [
169
+ {
170
+ "internalType": "uint32",
171
+ "name": "",
172
+ "type": "uint32"
173
+ }
174
+ ],
175
+ "stateMutability": "view",
176
+ "type": "function"
177
+ }
178
+ ],
179
+ "bytecode": "0x6101206040523480156200001257600080fd5b50604051620016fc380380620016fc8339810160408190526200003591620000f0565b63ffffffff84166080526001600160a01b0380841660a052821660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b6919062000157565b60ff1660e0526001600160a01b0316610100525062000183915050565b80516001600160a01b0381168114620000eb57600080fd5b919050565b600080600080608085870312156200010757600080fd5b845163ffffffff811681146200011c57600080fd5b93506200012c60208601620000d3565b92506200013c60408601620000d3565b91506200014c60608601620000d3565b905092959194509250565b6000602082840312156200016a57600080fd5b815160ff811681146200017c57600080fd5b9392505050565b60805160a05160c05160e051610100516114b8620002446000396000818161015d0152818161025f01528181610387015261041a01526000818161018c015281816106370152818161066501526106a801526000818160f701526105b1015260008181610136015281816101e20152818161028e0152818161033c015281816103b6015261044901526000818160b301528181610204015281816102af0152818161035e015281816103d70152818161046a015261053001526114b86000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c8063223a3b261461009357806326d89545146100ae5780632f467dab146100ea57806337a7b7d8146100f257806380f55605146101315780638ca06ea614610158578063addccbb31461017f578063c23953d014610187578063e710b82f146101c0578063f9294d8b146101c8575b600080fd5b61009b6101d2565b6040519081526020015b60405180910390f35b6100d57f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100a5565b61009b61025a565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a5565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b61009b61032c565b6101ae7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a5565b61009b610382565b6101d0610413565b005b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610562565b905060006102346105ac565b9050670de0b6b3a76400006102498383611049565b6102539190611076565b9250505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffec44077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108a565b602060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022891906110a9565b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006106e9565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a31426d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108a565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016104a692919061108a565b606060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e791906110d7565b9250925092508215610517576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061055d57604051631229555360e01b815263ffffffff7f000000000000000000000000000000000000000000000000000000000000000016600482015260240161050e565b505050565b60008060006105708561071e565b915091508082106105985761058f82610589878761094e565b90610973565b925050506105a6565b61058f81610589878761094e565b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063191906110a9565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff16106106a35761068960127f0000000000000000000000000000000000000000000000000000000000000000611123565b61069490600a611220565b61069e9082611076565b6106e3565b6106ce7f00000000000000000000000000000000000000000000000000000000000000006012611123565b6106d990600a611220565b6106e39082611049565b91505090565b60008060006106f78561071e565b915091508082106107105761058f8261058987876109a2565b61058f8161058987876109a2565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107869190611247565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed91906110a9565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085391906110a9565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b79190611294565b801561092c575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906112af565b6001600160801b0316145b1561093957809350610946565b6109438582610a77565b93505b505050915091565b600061095a83836109a2565b61096c90670de0b6b3a76400006112d8565b9392505050565b600080610988670de0b6b3a764000085611049565b905082818161099957610999611060565b04949350505050565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906110a9565b9050428111610a2157670de0b6b3a76400009150506105a6565b6000610a2d8585610a8d565b90506000610a3b42846112d8565b90506000610a51610a4c8484610bb4565b610bf5565b9050610a65670de0b6b3a764000082610973565b9450505050506105a6565b5092915050565b6000818311610a86578161096c565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610ac657610ac6611301565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610b0a908590600401611317565b600060405180830381865afa158015610b27573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b4f9190810190611378565b90508363ffffffff1681600081518110610b6b57610b6b611301565b602002602001015182600181518110610b8657610b86611301565b6020026020010151610b98919061143c565b610ba2919061145c565b6001600160d81b031695945050505050565b600080610bc66201518061016d611049565b610bd08486611049565b610bda9190611076565b9050610bed610be882610c08565b610c1e565b949350505050565b600080821215610c0457600080fd5b5090565b60006001600160ff1b03821115610c0457600080fd5b6000680238fd42c5cf03ffff198212158015610c43575068070c1cc73b00c800008213155b610c825760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161050e565b6000821215610cba57610c9782600003610c1e565b6a0c097ce7bc90715b34b9f160241b81610cb357610cb3611060565b0592915050565b60006806f05b59d3b20000008312610cf857506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610d2e565b6803782dace9d90000008312610d2a57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610d2e565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610d7e5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610dba576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610df457682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610e2e576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610e6757680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610ea05768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610ed9576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610f125768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105a6576105a6611033565b634e487b7160e01b600052601260045260246000fd5b60008261108557611085611060565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602082840312156110bb57600080fd5b5051919050565b805180151581146110d257600080fd5b919050565b6000806000606084860312156110ec57600080fd5b6110f5846110c2565b9250602084015161ffff8116811461110c57600080fd5b915061111a604085016110c2565b90509250925092565b60ff82811682821603908111156105a6576105a6611033565b600181815b8085111561117757816000190482111561115d5761115d611033565b8085161561116a57918102915b93841c9390800290611141565b509250929050565b60008261118e575060016105a6565b8161119b575060006105a6565b81600181146111b157600281146111bb576111d7565b60019150506105a6565b60ff8411156111cc576111cc611033565b50506001821b6105a6565b5060208310610133831016604e8410600b84101617156111fa575081810a6105a6565b611204838361113c565b806000190482111561121857611218611033565b029392505050565b600061096c60ff84168361117f565b6001600160a01b038116811461124457600080fd5b50565b60008060006060848603121561125c57600080fd5b83516112678161122f565b60208501519093506112788161122f565b60408501519092506112898161122f565b809150509250925092565b6000602082840312156112a657600080fd5b61096c826110c2565b6000602082840312156112c157600080fd5b81516001600160801b038116811461096c57600080fd5b818103818111156105a6576105a6611033565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561135557835163ffffffff1683529284019291840191600101611333565b50909695505050505050565b80516001600160d81b03811681146110d257600080fd5b6000602080838503121561138b57600080fd5b82516001600160401b03808211156113a257600080fd5b818501915085601f8301126113b657600080fd5b8151818111156113c8576113c86112eb565b8060051b604051601f19603f830116810181811085821117156113ed576113ed6112eb565b60405291825284820192508381018501918883111561140b57600080fd5b938501935b828510156114305761142185611361565b84529385019392850192611410565b98975050505050505050565b6001600160d81b03828116828216039080821115610a7057610a70611033565b60006001600160d81b038381168061147657611476611060565b9216919091049291505056fea26469706673582212207edce4b0f198cd00968b46daf175bf47b33ef5f572378401881d8e73365a0e6864736f6c63430008170033",
180
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c8063223a3b261461009357806326d89545146100ae5780632f467dab146100ea57806337a7b7d8146100f257806380f55605146101315780638ca06ea614610158578063addccbb31461017f578063c23953d014610187578063e710b82f146101c0578063f9294d8b146101c8575b600080fd5b61009b6101d2565b6040519081526020015b60405180910390f35b6100d57f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100a5565b61009b61025a565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a5565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b61009b61032c565b6101ae7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100a5565b61009b610382565b6101d0610413565b005b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610562565b905060006102346105ac565b9050670de0b6b3a76400006102498383611049565b6102539190611076565b9250505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffec44077f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108a565b602060405180830381865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022891906110a9565b6000806102286001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000006106e9565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a31426d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102eb92919061108a565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016104a692919061108a565b606060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e791906110d7565b9250925092508215610517576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061055d57604051631229555360e01b815263ffffffff7f000000000000000000000000000000000000000000000000000000000000000016600482015260240161050e565b505050565b60008060006105708561071e565b915091508082106105985761058f82610589878761094e565b90610973565b925050506105a6565b61058f81610589878761094e565b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063191906110a9565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff16106106a35761068960127f0000000000000000000000000000000000000000000000000000000000000000611123565b61069490600a611220565b61069e9082611076565b6106e3565b6106ce7f00000000000000000000000000000000000000000000000000000000000000006012611123565b6106d990600a611220565b6106e39082611049565b91505090565b60008060006106f78561071e565b915091508082106107105761058f8261058987876109a2565b61058f8161058987876109a2565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107869190611247565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed91906110a9565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561082f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085391906110a9565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b79190611294565b801561092c575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906112af565b6001600160801b0316145b1561093957809350610946565b6109438582610a77565b93505b505050915091565b600061095a83836109a2565b61096c90670de0b6b3a76400006112d8565b9392505050565b600080610988670de0b6b3a764000085611049565b905082818161099957610999611060565b04949350505050565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906110a9565b9050428111610a2157670de0b6b3a76400009150506105a6565b6000610a2d8585610a8d565b90506000610a3b42846112d8565b90506000610a51610a4c8484610bb4565b610bf5565b9050610a65670de0b6b3a764000082610973565b9450505050506105a6565b5092915050565b6000818311610a86578161096c565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610ac657610ac6611301565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610b0a908590600401611317565b600060405180830381865afa158015610b27573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b4f9190810190611378565b90508363ffffffff1681600081518110610b6b57610b6b611301565b602002602001015182600181518110610b8657610b86611301565b6020026020010151610b98919061143c565b610ba2919061145c565b6001600160d81b031695945050505050565b600080610bc66201518061016d611049565b610bd08486611049565b610bda9190611076565b9050610bed610be882610c08565b610c1e565b949350505050565b600080821215610c0457600080fd5b5090565b60006001600160ff1b03821115610c0457600080fd5b6000680238fd42c5cf03ffff198212158015610c43575068070c1cc73b00c800008213155b610c825760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161050e565b6000821215610cba57610c9782600003610c1e565b6a0c097ce7bc90715b34b9f160241b81610cb357610cb3611060565b0592915050565b60006806f05b59d3b20000008312610cf857506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610d2e565b6803782dace9d90000008312610d2a57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610d2e565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610d7e5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610dba576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610df457682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610e2e576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610e6757680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610ea05768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610ed9576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610f125768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105a6576105a6611033565b634e487b7160e01b600052601260045260246000fd5b60008261108557611085611060565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6000602082840312156110bb57600080fd5b5051919050565b805180151581146110d257600080fd5b919050565b6000806000606084860312156110ec57600080fd5b6110f5846110c2565b9250602084015161ffff8116811461110c57600080fd5b915061111a604085016110c2565b90509250925092565b60ff82811682821603908111156105a6576105a6611033565b600181815b8085111561117757816000190482111561115d5761115d611033565b8085161561116a57918102915b93841c9390800290611141565b509250929050565b60008261118e575060016105a6565b8161119b575060006105a6565b81600181146111b157600281146111bb576111d7565b60019150506105a6565b60ff8411156111cc576111cc611033565b50506001821b6105a6565b5060208310610133831016604e8410600b84101617156111fa575081810a6105a6565b611204838361113c565b806000190482111561121857611218611033565b029392505050565b600061096c60ff84168361117f565b6001600160a01b038116811461124457600080fd5b50565b60008060006060848603121561125c57600080fd5b83516112678161122f565b60208501519093506112788161122f565b60408501519092506112898161122f565b809150509250925092565b6000602082840312156112a657600080fd5b61096c826110c2565b6000602082840312156112c157600080fd5b81516001600160801b038116811461096c57600080fd5b818103818111156105a6576105a6611033565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561135557835163ffffffff1683529284019291840191600101611333565b50909695505050505050565b80516001600160d81b03811681146110d257600080fd5b6000602080838503121561138b57600080fd5b82516001600160401b03808211156113a257600080fd5b818501915085601f8301126113b657600080fd5b8151818111156113c8576113c86112eb565b8060051b604051601f19603f830116810181811085821117156113ed576113ed6112eb565b60405291825284820192508381018501918883111561140b57600080fd5b938501935b828510156114305761142185611361565b84529385019392850192611410565b98975050505050505050565b6001600160d81b03828116828216039080821115610a7057610a70611033565b60006001600160d81b038381168061147657611476611060565b9216919091049291505056fea26469706673582212207edce4b0f198cd00968b46daf175bf47b33ef5f572378401881d8e73365a0e6864736f6c63430008170033",
181
+ "linkReferences": {},
182
+ "deployedLinkReferences": {}
183
+ }
@@ -1,15 +1,19 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.0;
3
3
 
4
- interface IPPtLpOracle {
4
+ interface IPPYLpOracle {
5
5
  event SetBlockCycleNumerator(uint16 newBlockCycleNumerator);
6
6
 
7
7
  function getPtToAssetRate(address market, uint32 duration) external view returns (uint256);
8
8
 
9
+ function getYtToAssetRate(address market, uint32 duration) external view returns (uint256);
10
+
9
11
  function getLpToAssetRate(address market, uint32 duration) external view returns (uint256);
10
12
 
11
13
  function getPtToSyRate(address market, uint32 duration) external view returns (uint256);
12
14
 
15
+ function getYtToSyRate(address market, uint32 duration) external view returns (uint256);
16
+
13
17
  function getLpToSyRate(address market, uint32 duration) external view returns (uint256);
14
18
 
15
19
  function getOracleState(