Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SC-1144] Deploy UniswapV3 Oracle on bsc #142

Merged
merged 1 commit into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ If no direct liquidity pair exists between two tokens, the spot price aggregator
* Pancake 3 - [0xB4039b37d09772801a51764537c167445f52F48b](https://bscscan.com/address/0xB4039b37d09772801a51764537c167445f52F48b)
* Thugswap - [0x7bBc0156c31A19097eEd6B636AA2F4AB8A31BFD9](https://bscscan.com/address/0x7bBc0156c31A19097eEd6B636AA2F4AB8A31BFD9)
* UniswapV2 - [0x4C5B9573dE7660c097F1a21050038378CD691066](https://bscscan.com/address/0x4C5B9573dE7660c097F1a21050038378CD691066)
* UniswapV3 - [0xE85B42805e046D1933EB8e1C543C4da4E5e8fFa3](https://bscscan.com/address/0xE85B42805e046D1933EB8e1C543C4da4E5e8fFa3)

</details>

Expand Down
167 changes: 167 additions & 0 deletions deployments/bsc/UniswapV3LikeOracle_Uniswap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"address": "0xE85B42805e046D1933EB8e1C543C4da4E5e8fFa3",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_factory",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_initcodeHash",
"type": "bytes32"
},
{
"internalType": "uint24[]",
"name": "_fees",
"type": "uint24[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "ConnectorShouldBeNone",
"type": "error"
},
{
"inputs": [],
"name": "MathOverflowedMulDiv",
"type": "error"
},
{
"inputs": [],
"name": "PoolNotFound",
"type": "error"
},
{
"inputs": [],
"name": "PoolWithConnectorNotFound",
"type": "error"
},
{
"inputs": [],
"name": "FACTORY",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "INITCODE_HASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SUPPORTED_FEES_COUNT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "fees",
"outputs": [
{
"internalType": "uint24",
"name": "",
"type": "uint24"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "srcToken",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "dstToken",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "connector",
"type": "address"
},
{
"internalType": "uint256",
"name": "thresholdFilter",
"type": "uint256"
}
],
"name": "getRate",
"outputs": [
{
"internalType": "uint256",
"name": "rate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "weight",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"receipt": {
"to": "0xD935a2bb926019E0ed6fb31fbD5b1Bbb7c05bf65",
"from": "0x56E44874F624EbDE6efCc783eFD685f0FBDC6dcF",
"contractAddress": null,
"gasUsed": "879656",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0xccdf91ba2980a8b24060227599016620980e0063d356b3f1a62d50febbaa39ea",
"logs": [],
"blockNumber": 37976144,
"cumulativeGasUsed": "5654748",
"status": 1
},
"args": [
"0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7",
"0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54",
[
500,
3000,
10000
]
],
"numDeployments": 1,
"bytecode": "0x60e060405234620001895762000f63803803806200001d81620001a1565b92833981019060608183031262000189578051916001600160a01b038316830362000189576020928383015190604084015160018060401b03948582116200018957019280601f85011215620001895783519485116200018d576005938560051b9087806200008e818501620001a1565b80998152019282010192831162000189578701905b8282106200016c5750505060a05260c0528151926080936080525f5b845181101562000126578351811015620001125762ffffff90818382861b870101511691600a9283831015620001125783600194840492600380855493870602901b92831b921b191617905501620000bf565b634e487b7160e01b5f52603260045260245ffd5b604051610d9b9081620001c8823960805181818161019401528181610307015261049c015260a051818181610445015261077a015260c051818181608b01526107a90152f35b815162ffffff8116810362000189578152908701908701620000a3565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176200018d5760405256fe6080604090808252600480361015610015575f80fd5b5f3560e01c918263152b8c6914610469575081632dd31000146103fb5781633d549b321461010d575080634acc79ed146100b25763f846188414610057575f80fd5b346100ae575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b50346100ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae5760043590600a8210156100ae5762ffffff6100fe6020936104bf565b92905490519260031b1c168152f35b9050346100ae5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae5773ffffffffffffffffffffffffffffffffffffffff60043581811681036100ae57602480359383851685036100ae5760443592848416938481036100ae576064956064359561018b6105a9565b500361030457507f0000000000000000000000000000000000000000000000000000000000000000906101bd826105d9565b965f5b8381106102bf5750505050939190915b5f945f9460209060208401519389810196858851525f975b868910610215578b8b8b80610204575b82519182526020820152f35b908161020f9161065b565b906101f8565b9091929394959697986102298a8351610cc7565b519a868c019b8c51878102908082048914901517156102945761024d8c8851610692565b1161028857916102706102789261026a8f60019651905190610692565b90610d58565b9c5190610d58565b995b0197969594939291906101e8565b509a509860019061027a565b8560118b7f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b806102fd6102e462ffffff6102d56001956104bf565b90549060031b1c1685876106d2565b8d51916102f083610503565b825260208201528b610cdb565b50016101c0565b907f0000000000000000000000000000000000000000000000000000000000000000906103336002830a6105d9565b975f5b83811061034b575050505050939190916101d0565b5f5b84811061035d5750600101610336565b6001908c61036a846104bf565b909161038462ffffff809454600394851b1c168b8a6106d2565b92909383156103f1576103a79161039a876104bf565b9054911b1c16888c6106d2565b92909383156103f1576103e1946103bd91610c0a565b92808210156103e95750905b51916103d483610503565b825260208201528d610cdb565b505b0161034d565b9050906103c9565b50505050506103e3565b82346100ae575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100ae575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae576020907f00000000000000000000000000000000000000000000000000000000000000008152f35b90600a8210156104d6576003600a80840493060290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040810190811067ffffffffffffffff82111761051f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff82111761051f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761051f57604052565b604051906060820182811067ffffffffffffffff82111761051f5760405260606040835f81525f60208201520152565b906105e26105a9565b506040519160808160061b8401016040525f83525f60208401526060830180604085015252565b51906fffffffffffffffffffffffffffffffff821682036100ae57565b51908160020b82036100ae57565b91908260409103126100ae57602061064b83610609565b92015180600f0b81036100ae5790565b8115610665570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b818102929181159184041417156106a557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919073ffffffffffffffffffffffffffffffffffffffff9182821680848616105f14610bff57508284925b60405162ffffff602094848684019481891686521660408401521660608201526060815261072a8161054c565b519020604051838101917fff0000000000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060601b16602183015260358201527f00000000000000000000000000000000000000000000000000000000000000006055820152605581526107da8161054c565b51902016803b15610bf4576040517f1a6865020000000000000000000000000000000000000000000000000000000081528281600481855afa8015610a5c575f90610bb0575b6fffffffffffffffffffffffffffffffff915016918215610ba457604051947f3850c7bd000000000000000000000000000000000000000000000000000000008652604086600481865afa8015610a5c575f965f91610b5b575b506040517fd0c93a7c0000000000000000000000000000000000000000000000000000000081528381600481885afa938415610a5c575f94610b23575b505060020b8260020b908115610665577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008214166106a55781900560020b0290818060020b036106a55793809681955f5b8997600282810b13610aa1576040517ff30dba9300000000000000000000000000000000000000000000000000000000815287830260020b8760020b0160020b60048201526040816024818c5afa908115610a5c575f91610a80575b50600f0b019384811015610a79575b998415610a67576040517ff30dba9300000000000000000000000000000000000000000000000000000000815287830260020b8760020b0360020b60048201526040816024818c5afa908115610a5c575f91610a2b575b50600f0b8091039a8b81105f14610a24575b9814610a135760010160020b96929661092b565b50505050505050505050505f905f90565b508a6109ff565b610a4d915060403d604011610a55575b610a458183610568565b810190610634565b90505f6109ed565b503d610a3b565b6040513d5f823e3d90fd5b5050505050505050505050505f905f90565b5083610996565b610a99915060403d604011610a5557610a458183610568565b90505f610987565b50509692509650969350849250829150169116145f14610ae957670de0b6b3a7640000908083168202918204818416036106a557610ae392169060601c610692565b60601c91565b908181161561066557610b2091167f0de0b6b3a764000000000000000000000000000000000000000000000000000081900461065b565b91565b9080929450813d8311610b54575b610b3b8183610568565b810103126100ae57610b4c90610626565b915f806108b7565b503d610b31565b9650506040863d604011610b9c575b81610b7760409383610568565b810103126100ae5785519581871687036100ae5782610b969101610626565b5f61087a565b3d9150610b6a565b5050505050505f905f90565b508281813d8311610bed575b610bc68183610568565b810103126100ae57610be86fffffffffffffffffffffffffffffffff91610609565b610820565b503d610bbc565b50505050505f905f90565b9150828481166106fd565b90808202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81840990828083109203918083039214610cb657670de0b6b3a76400009082821115610c8c577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b60046040517f227bc153000000000000000000000000000000000000000000000000000000008152fd5b5050670de0b6b3a764000091500490565b80518210156104d65760209160051b010190565b9060208101908151610cee575050505f90565b610d0f6040840151916020850192835191610d098383610cc7565b52610cc7565b5080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106a5576001019052519080518211610d50575b5050600190565b525f80610d49565b919082018092116106a55756fea26469706673582212202f754e4e4754291eae372dca8761bf7c12a08753fa396c79cd7c973aa27d171c64736f6c63430008170033",
"deployedBytecode": "0x6080604090808252600480361015610015575f80fd5b5f3560e01c918263152b8c6914610469575081632dd31000146103fb5781633d549b321461010d575080634acc79ed146100b25763f846188414610057575f80fd5b346100ae575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b50346100ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae5760043590600a8210156100ae5762ffffff6100fe6020936104bf565b92905490519260031b1c168152f35b9050346100ae5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae5773ffffffffffffffffffffffffffffffffffffffff60043581811681036100ae57602480359383851685036100ae5760443592848416938481036100ae576064956064359561018b6105a9565b500361030457507f0000000000000000000000000000000000000000000000000000000000000000906101bd826105d9565b965f5b8381106102bf5750505050939190915b5f945f9460209060208401519389810196858851525f975b868910610215578b8b8b80610204575b82519182526020820152f35b908161020f9161065b565b906101f8565b9091929394959697986102298a8351610cc7565b519a868c019b8c51878102908082048914901517156102945761024d8c8851610692565b1161028857916102706102789261026a8f60019651905190610692565b90610d58565b9c5190610d58565b995b0197969594939291906101e8565b509a509860019061027a565b8560118b7f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b806102fd6102e462ffffff6102d56001956104bf565b90549060031b1c1685876106d2565b8d51916102f083610503565b825260208201528b610cdb565b50016101c0565b907f0000000000000000000000000000000000000000000000000000000000000000906103336002830a6105d9565b975f5b83811061034b575050505050939190916101d0565b5f5b84811061035d5750600101610336565b6001908c61036a846104bf565b909161038462ffffff809454600394851b1c168b8a6106d2565b92909383156103f1576103a79161039a876104bf565b9054911b1c16888c6106d2565b92909383156103f1576103e1946103bd91610c0a565b92808210156103e95750905b51916103d483610503565b825260208201528d610cdb565b505b0161034d565b9050906103c9565b50505050506103e3565b82346100ae575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100ae575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ae576020907f00000000000000000000000000000000000000000000000000000000000000008152f35b90600a8210156104d6576003600a80840493060290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040810190811067ffffffffffffffff82111761051f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff82111761051f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761051f57604052565b604051906060820182811067ffffffffffffffff82111761051f5760405260606040835f81525f60208201520152565b906105e26105a9565b506040519160808160061b8401016040525f83525f60208401526060830180604085015252565b51906fffffffffffffffffffffffffffffffff821682036100ae57565b51908160020b82036100ae57565b91908260409103126100ae57602061064b83610609565b92015180600f0b81036100ae5790565b8115610665570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b818102929181159184041417156106a557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919073ffffffffffffffffffffffffffffffffffffffff9182821680848616105f14610bff57508284925b60405162ffffff602094848684019481891686521660408401521660608201526060815261072a8161054c565b519020604051838101917fff0000000000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060601b16602183015260358201527f00000000000000000000000000000000000000000000000000000000000000006055820152605581526107da8161054c565b51902016803b15610bf4576040517f1a6865020000000000000000000000000000000000000000000000000000000081528281600481855afa8015610a5c575f90610bb0575b6fffffffffffffffffffffffffffffffff915016918215610ba457604051947f3850c7bd000000000000000000000000000000000000000000000000000000008652604086600481865afa8015610a5c575f965f91610b5b575b506040517fd0c93a7c0000000000000000000000000000000000000000000000000000000081528381600481885afa938415610a5c575f94610b23575b505060020b8260020b908115610665577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008214166106a55781900560020b0290818060020b036106a55793809681955f5b8997600282810b13610aa1576040517ff30dba9300000000000000000000000000000000000000000000000000000000815287830260020b8760020b0160020b60048201526040816024818c5afa908115610a5c575f91610a80575b50600f0b019384811015610a79575b998415610a67576040517ff30dba9300000000000000000000000000000000000000000000000000000000815287830260020b8760020b0360020b60048201526040816024818c5afa908115610a5c575f91610a2b575b50600f0b8091039a8b81105f14610a24575b9814610a135760010160020b96929661092b565b50505050505050505050505f905f90565b508a6109ff565b610a4d915060403d604011610a55575b610a458183610568565b810190610634565b90505f6109ed565b503d610a3b565b6040513d5f823e3d90fd5b5050505050505050505050505f905f90565b5083610996565b610a99915060403d604011610a5557610a458183610568565b90505f610987565b50509692509650969350849250829150169116145f14610ae957670de0b6b3a7640000908083168202918204818416036106a557610ae392169060601c610692565b60601c91565b908181161561066557610b2091167f0de0b6b3a764000000000000000000000000000000000000000000000000000081900461065b565b91565b9080929450813d8311610b54575b610b3b8183610568565b810103126100ae57610b4c90610626565b915f806108b7565b503d610b31565b9650506040863d604011610b9c575b81610b7760409383610568565b810103126100ae5785519581871687036100ae5782610b969101610626565b5f61087a565b3d9150610b6a565b5050505050505f905f90565b508281813d8311610bed575b610bc68183610568565b810103126100ae57610be86fffffffffffffffffffffffffffffffff91610609565b610820565b503d610bbc565b50505050505f905f90565b9150828481166106fd565b90808202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81840990828083109203918083039214610cb657670de0b6b3a76400009082821115610c8c577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b60046040517f227bc153000000000000000000000000000000000000000000000000000000008152fd5b5050670de0b6b3a764000091500490565b80518210156104d65760209160051b010190565b9060208101908151610cee575050505f90565b610d0f6040840151916020850192835191610d098383610cc7565b52610cc7565b5080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106a5576001019052519080518211610d50575b5050600190565b525f80610d49565b919082018092116106a55756fea26469706673582212202f754e4e4754291eae372dca8761bf7c12a08753fa396c79cd7c973aa27d171c64736f6c63430008170033"
}
Loading