/ migrations / 7_deploy_feeds.js
7_deploy_feeds.js
  1  const feed = artifacts.require("ChainlinkFeed");
  2  const scryAgg = artifacts.require("ScryAggregatorV1");
  3  const pythAgg = artifacts.require("PythAggregatorV1");
  4  
  5  ///https://docs.chain.link/data-feeds/price-feeds/addresses?network=avalanche
  6  
  7  /*
  8  
  9  MUMBAI CHAINLINK AGGV3's
 10  BTC / USD   0x007A22900a3B98143368Bd5906f8E17e9867581b
 11  ETH / USD   0x0715A7794a1dc8e42615F059dD6e406A6594651A
 12  MATIC / USD   0xd0D5e3DB44DE05E9F294BB0a3bEEaF030DE24Ada
 13  
 14  */
 15  
 16  /*
 17  
 18  FUJI CHIANLINKE AGGV3's
 19  
 20  AVAX / USD 0x5498BB86BC934c8D34FDA08E81D444153d0D06aD
 21  BTC / USD 0x31CF013A08c6Ac228C94551d535d5BAfE19c602a
 22  ETH / USD 0x86d67c3D38D2bCeE722E601025C25a575021c6EA
 23  MATIC / USD 0xB0924e98CAFC880ed81F6A4cA63FD61006D1f8A0
 24  
 25  FakeDAI is at: 0x3f726b8b382f7EEaeA106D37AdA822F2973cB2f4
 26  FakeUSDC is at: 0x4D9790A4097bD1B46944B3019a1b11c935AcDa34
 27  FakeBTC is at: 0xC969024b804Bf0944610277Bb13eA820596eEdE8
 28  FakeETH is at: 0x7f817f49d1Bc9A76E4581845B2FDa6De28ea3dB2
 29  FakeMATIC is at: 0xDd2451C438e1711f9b5015a8DbFA727382A0B08F
 30  FakeAVAX is at: 0xf0cAe108823b80F37cfAA5E8aEc8190D66ED0d62
 31  
 32  */
 33  
 34  /*
 35  
 36  CANTO TESTNET SCRY ORACLE
 37  :0xE565f05422481345b5Fad564DD9Ab7B0cE3Ec017
 38  
 39  const BTCUSDAgg = await deployer.deploy(
 40    scryAgg, 
 41    "0xE565f05422481345b5Fad564DD9Ab7B0cE3Ec017",
 42    2
 43  );
 44  console.log("BTCUSDAgg is at: "+ BTCUSDAgg.address);
 45  const ETHUSDAgg = await deployer.deploy(
 46    scryAgg,
 47    "0xE565f05422481345b5Fad564DD9Ab7B0cE3Ec017",
 48    1`
 49  );
 50  console.log("ETHUSDAgg is at: "+ ETHUSDAgg.address);
 51  const CANTOUSDAgg = await deployer.deploy(
 52    scryAgg,
 53    "0xE565f05422481345b5Fad564DD9Ab7B0cE3Ec017",
 54    0
 55  );
 56  console.log("CANTOUSDAgg is at: "+ CANTOUSDAgg.address);
 57  
 58  */
 59  
 60  const oracleAdminAddr = "0xe977757dA5fd73Ca3D2bA6b7B544bdF42bb2CBf6";
 61  
 62  module.exports = async function(deployer) {
 63    //    pyth_asset_ids = [{"BTC": "0xf9c0172ba10dfa4d19088d94f5bf61d3b54d5bd7483a322a982e1373ee8ea31b"}, {"ETH": "0xca80ba6dc32e08d06f1aa886011eed1d77c77be9eb761cc10d72b7d0a2fd57a6"}, {"MATIC": "0xd2c2c1f2bba8e0964f9589e060c2ee97f5e19057267ac3284caef3bd50bd2cb5"}, {"AVAX": "0xd7566a3ba7f7286ed54f4ae7e983f4420ae0b1e0f3892e11f9c4ab107bbad7b9"}]
 64  
 65      //time truffle migrate --reset -f 7 --to 7 --skip-dry-run --network=mumbai >> mumbai_deployment_1.txt
 66  
 67    /*
 68      let BTCUSDAgg = await deployer.deploy(
 69        pythAgg, 
 70        "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
 71        "0xf9c0172ba10dfa4d19088d94f5bf61d3b54d5bd7483a322a982e1373ee8ea31b"
 72      );
 73       setTimeout(function(){},10000);
 74       BTCUSDAgg = {address: pythAgg.address};
 75  
 76      console.log("pythBTCUSDAgg is at: "+ BTCUSDAgg.address);
 77      let ETHUSDAgg = await deployer.deploy(
 78        pythAgg,
 79        "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
 80        "0xca80ba6dc32e08d06f1aa886011eed1d77c77be9eb761cc10d72b7d0a2fd57a6"
 81      );
 82       setTimeout(function(){},10000);
 83       ETHUSDAgg = {address: pythAgg.address};
 84      console.log("pythETHUSDAgg is at: "+ ETHUSDAgg.address);
 85  
 86      let MATICUSDAgg = await deployer.deploy(
 87        pythAgg, 
 88        "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
 89        "0xd2c2c1f2bba8e0964f9589e060c2ee97f5e19057267ac3284caef3bd50bd2cb5"
 90      );
 91       setTimeout(function(){},10000);
 92       MATICUSDAgg = {address: pythAgg.address};
 93      console.log("pythMATICUSDAgg is at: "+ MATICUSDAgg.address);
 94      let AVAXUSDAgg = await deployer.deploy(
 95        pythAgg,
 96        "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
 97        "0xd7566a3ba7f7286ed54f4ae7e983f4420ae0b1e0f3892e11f9c4ab107bbad7b9"
 98      );
 99       AVAXUSDAgg = {address: pythAgg.address};
100       setTimeout(function(){},10000);
101      console.log("pythAVAXUSDAgg is at: "+ AVAXUSDAgg.address);*/
102  
103      /*
104  
105       string memory _sb,
106          address _udlAddr,
107          address _ppK,
108          address _aggregator,
109          address _time,
110          uint _offset,
111          uint[] memory _timestamps,
112          int[] memory _prices
113      */
114  
115      /**/
116         
117      const btc = await deployer.deploy(
118       feed, 
119       "BTC/USD",
120       "0x1C35FFaa7DAD5532bF4BF653094A37fCa4983a3c", //underlying addrsss on the chain
121       oracleAdminAddr, //privledgedPublisherKeeper, may be address(0)
122       "0xb3F395438148976BC5CC3d9891e1d4eD4A0431B9",//btc/usd feed mock or chainlink agg
123       "0x2FFBEef25BC2812F5aF79471A3624216c687Bc91", //time provider address
124       3 * 60 * 60,
125       [1676005200, 1676091600, 1676178000, 1676264400, 1676350800, 1676437200, 1676523600, 1676610000, 1676696400, 1676782800, 1676869200, 1676955600, 1677042000, 1677128400, 1677214800, 1677301200, 1677387600, 1677474000, 1677560400, 1677646800, 1677733200, 1677819600, 1677906000, 1677992400, 1678078800, 1678165200, 1678251600, 1678338000, 1678424400, 1678510800, 1678597200, 1678680000, 1678766400, 1678852800, 1678939200, 1679025600, 1679112000, 1679198400, 1679284800, 1679371200, 1679457600, 1679544000, 1679630400, 1679716800, 1679803200, 1679889600, 1679976000, 1680062400, 1680148800, 1680235200, 1680321600, 1680408000, 1680494400, 1680580800, 1680667200, 1680753600, 1680840000, 1680926400, 1681012800, 1681099200, 1681185600, 1681272000, 1681358400, 1681444800, 1681531200, 1681617600, 1681704000, 1681790400, 1681876800, 1681963200, 1682049600, 1682136000, 1682222400, 1682308800, 1682395200, 1682481600, 1682568000, 1682654400, 1682740800, 1682827200, 1682913600, 1683000000, 1683086400, 1683172800, 1683259200, 1683345600, 1683432000, 1683518400, 1683604800, 1683691200, 1683777600, 1683864000, 1683950400, 1684036800, 1684123200, 1684209600, 1684296000, 1684382400, 1684468800, 1684555200],
126  ['21819005859000000000000', '21651841797000000000000', '21870902344000000000000', '21787000000000000000000', '21801822266000000000000', '22220585938000000000000', '24307349609000000000000', '23621283203000000000000', '24565296875000000000000', '24640027344000000000000', '24336623047000000000000', '24833048828000000000000', '24437417969000000000000', '24190718750000000000000', '23946007813000000000000', '23200125000000000000000', '23174150391000000000000', '23561451172000000000000', '23521837891000000000000', '23150929688000000000000', '23647019531000000000000', '23476632813000000000000', '22362923828000000000000', '22354144531000000000000', '22436816406000000000000', '22428322266000000000000', '22216441406000000000000', '21720080078000000000000', '20367001953000000000000', '20187876953000000000000', '20628029297000000000000', '22156406250000000000000', '24201765625000000000000', '24770925781000000000000', '24373457031000000000000', '25055123047000000000000', '27448117188000000000000', '26969503906000000000000', '28041601563000000000000', '27768392578000000000000', '28158720703000000000000', '27301957031000000000000', '28324111328000000000000', '27487337891000000000000', '27495523438000000000000', '27994068359000000000000', '27132888672000000000000', '27267031250000000000000', '28350140625000000000000', '28032261719000000000000', '28473332031000000000000', '28462845703000000000000', '28183080078000000000000', '27795273438000000000000', '28169726563000000000000', '28175226563000000000000', '28038966797000000000000', '27920513672000000000000', '27952367188000000000000', '28336027344000000000000', '29653679688000000000000', '30231582031000000000000', '29892740234000000000000', '30409562500000000000000', '30490750000000000000000', '30315976563000000000000', '30317146484000000000000', '29449091797000000000000', '30394187500000000000000', '28823683594000000000000', '28249230469000000000000', '27265894531000000000000', '27816144531000000000000', '27591730469000000000000', '27514873047000000000000', '28300058594000000000000', '28428464844000000000000', '29481013672000000000000', '29336566406000000000000', '29245515625000000000000', '29227103516000000000000', '28087175781000000000000', '28680494141000000000000', '29031304688000000000000', '28851480469000000000000', '29538859375000000000000', '28901623047000000000000', '28450457031000000000000', '27695068359000000000000', '27654636719000000000000', '27621085938000000000000', '26987662109000000000000', '26807769531000000000000', '26788974609000000000000', '26931384766000000000000', '27171513672000000000000', '27035470703000000000000', '27401650391000000000000', '26826753906000000000000', '26888812500000000000000']
127  
128     );
129       setTimeout(function(){},10000);
130     console.log("btc pyth feed is at: "+ feed.address);
131     const eth = await deployer.deploy(
132       feed, 
133       "ETH/USD",
134       "0x0a85858104c23cbabc800f1c1AE8677eaAEFc4E2",
135       oracleAdminAddr, //privledgedPublisherKeeper, may be address(0)
136       "0xC5e5105F3C6E9Ee8aEC989935c08F8AB1dEbC8a6",
137       "0x2FFBEef25BC2812F5aF79471A3624216c687Bc91",
138       3 * 60 * 60,
139       [1676005200, 1676091600, 1676178000, 1676264400, 1676350800, 1676437200, 1676523600, 1676610000, 1676696400, 1676782800, 1676869200, 1676955600, 1677042000, 1677128400, 1677214800, 1677301200, 1677387600, 1677474000, 1677560400, 1677646800, 1677733200, 1677819600, 1677906000, 1677992400, 1678078800, 1678165200, 1678251600, 1678338000, 1678424400, 1678510800, 1678597200, 1678680000, 1678766400, 1678852800, 1678939200, 1679025600, 1679112000, 1679198400, 1679284800, 1679371200, 1679457600, 1679544000, 1679630400, 1679716800, 1679803200, 1679889600, 1679976000, 1680062400, 1680148800, 1680235200, 1680321600, 1680408000, 1680494400, 1680580800, 1680667200, 1680753600, 1680840000, 1680926400, 1681012800, 1681099200, 1681185600, 1681272000, 1681358400, 1681444800, 1681531200, 1681617600, 1681704000, 1681790400, 1681876800, 1681963200, 1682049600, 1682136000, 1682222400, 1682308800, 1682395200, 1682481600, 1682568000, 1682654400, 1682740800, 1682827200, 1682913600, 1683000000, 1683086400, 1683172800, 1683259200, 1683345600, 1683432000, 1683518400, 1683604800, 1683691200, 1683777600, 1683864000, 1683950400, 1684036800, 1684123200, 1684209600, 1684296000, 1684382400, 1684468800, 1684555200],
140  ['1546596558000000000000', '1514941895000000000000', '1539776001000000000000', '1514916992000000000000', '1506992065000000000000', '1556765137000000000000', '1673867432000000000000', '1640280151000000000000', '1694741821000000000000', '1691680176000000000000', '1682337036000000000000', '1702797852000000000000', '1658140991000000000000', '1643298584000000000000', '1650895142000000000000', '1608658325000000000000', '1594761108000000000000', '1640763672000000000000', '1634502441000000000000', '1606040405000000000000', '1663549072000000000000', '1647557739000000000000', '1569278076000000000000', '1567179321000000000000', '1564383179000000000000', '1567424683000000000000', '1561977905000000000000', '1534031616000000000000', '1438760132000000000000', '1429100830000000000000', '1482431885000000000000', '1590831177000000000000', '1680295288000000000000', '1705189941000000000000', '1656332031000000000000', '1677296753000000000000', '1793592407000000000000', '1762963257000000000000', '1785416260000000000000', '1735617920000000000000', '1804957031000000000000', '1737140869000000000000', '1815819824000000000000', '1751469482000000000000', '1743842163000000000000', '1775481323000000000000', '1715327393000000000000', '1772899902000000000000', '1793345947000000000000', '1793620117000000000000', '1821704346000000000000', '1821192139000000000000', '1794922485000000000000', '1810142090000000000000', '1870965088000000000000', '1909143555000000000000', '1872734131000000000000', '1864679077000000000000', '1849672241000000000000', '1859741211000000000000', '1911375854000000000000', '1891949707000000000000', '1917698364000000000000', '2013930664000000000000', '2101616455000000000000', '2092281006000000000000', '2120001221000000000000', '2075855225000000000000', '2103946289000000000000', '1936417969000000000000', '1943409912000000000000', '1849286499000000000000', '1874171509000000000000', '1862085327000000000000', '1842204346000000000000', '1866148926000000000000', '1866693237000000000000', '1909273071000000000000', '1892565063000000000000', '1908741333000000000000', '1868891113000000000000', '1831726563000000000000', '1870687134000000000000', '1905168945000000000000', '1877833130000000000000', '1995479126000000000000', '1899917603000000000000', '1872475098000000000000', '1849061035000000000000', '1848213501000000000000', '1842492065000000000000', '1795176636000000000000', '1808375000000000000000', '1796107910000000000000', '1800371216000000000000', '1816824219000000000000', '1824068359000000000000', '1822068237000000000000', '1800994385000000000000', '1812892578000000000000']
141  
142     );
143      setTimeout(function(){},10000);
144     console.log("eth pyth feed is at: "+ feed.address);
145  /*
146  
147     const matic = await deployer.deploy(
148       feed, 
149       "MATIC/USD",
150       "0xc9D225dA1273f57390eA81D55256542f2B6A0789",
151       oracleAdminAddr, //privledgedPublisherKeeper, may be address(0)
152       "0x5709258bb7989FCD21a6daBDf1F06B10916D1876",
153       "0x2FFBEef25BC2812F5aF79471A3624216c687Bc91",
154       8 * 60 * 60,
155  [1669870800, 1669957200, 1670043600, 1670130000, 1670216400, 1670302800, 1670389200, 1670475600, 1670562000, 1670648400, 1670734800, 1670821200, 1670907600, 1670994000, 1671080400, 1671166800, 1671253200, 1671339600, 1671426000, 1671512400, 1671598800, 1671685200, 1671771600, 1671858000, 1671944400, 1672030800, 1672117200, 1672203600, 1672290000, 1672376400, 1672462800, 1672549200, 1672635600, 1672722000, 1672808400, 1672894800, 1672981200, 1673067600, 1673154000, 1673240400, 1673326800, 1673413200, 1673499600, 1673586000, 1673672400, 1673758800, 1673845200, 1673931600, 1674018000, 1674104400, 1674190800, 1674277200, 1674363600, 1674450000, 1674536400, 1674622800, 1674709200, 1674795600, 1674882000, 1674968400, 1675054800, 1675141200, 1675227600, 1675314000, 1675400400, 1675486800, 1675573200, 1675659600, 1675746000, 1675832400, 1675918800, 1676005200, 1676091600, 1676178000, 1676264400, 1676350800, 1676437200, 1676523600, 1676610000, 1676696400, 1676782800, 1676869200, 1676955600, 1677042000, 1677128400, 1677214800, 1677301200, 1677387600, 1677474000, 1677560400, 1677646800, 1677733200, 1677819600, 1677906000, 1677992400, 1678078800, 1678165200, 1678251600, 1678338000, 1678424400],
156  ['936412000000000000', '908393000000000000', '946679000000000000', '903108000000000000', '921931000000000000', '911264000000000000', '917447000000000000', '896301000000000000', '927815000000000000', '909546000000000000', '908283000000000000', '893295000000000000', '910558000000000000', '923530000000000000', '903340000000000000', '877970000000000000', '795793000000000000', '816133000000000000', '814040000000000000', '772899000000000000', '802620000000000000', '793081000000000000', '795727000000000000', '798763000000000000', '796003000000000000', '795128000000000000', '813539000000000000', '806041000000000000', '782811000000000000', '777357000000000000', '760605000000000000', '758502000000000000', '759988000000000000', '780927000000000000', '780045000000000000', '806335000000000000', '788463000000000000', '799225000000000000', '806674000000000000', '840282000000000000', '843992000000000000', '858439000000000000', '897725000000000000', '916239000000000000', '931004000000000000', '999737000000000000', '983476000000000000', '1019649000000000000', '995905000000000000', '940036000000000000', '952923000000000000', '1026220000000000000', '990097000000000000', '994108000000000000', '994829000000000000', '955952000000000000', '993079000000000000', '1123072000000000000', '1158248000000000000', '1144364000000000000', '1177862000000000000', '1087332000000000000', '1111085000000000000', '1194626000000000000', '1180328000000000000', '1244452000000000000', '1251095000000000000', '1204367000000000000', '1190357000000000000', '1269234000000000000', '1304250000000000000', '1228480000000000000', '1230424000000000000', '1251252000000000000', '1238334000000000000', '1186454000000000000', '1258687000000000000', '1329800000000000000', '1371665000000000000', '1525579000000000000', '1486768000000000000', '1479609000000000000', '1474428000000000000', '1385113000000000000', '1396782000000000000', '1354599000000000000', '1266012000000000000', '1248660000000000000', '1281284000000000000', '1235537000000000000', '1195249000000000000', '1248277000000000000', '1225004000000000000', '1167763000000000000', '1126699000000000000', '1137249000000000000', '1131719000000000000', '1149604000000000000', '1051937000000000000', '1015833000000000000']
157     );
158      setTimeout(function(){},10000);
159     console.log("matic pyth feed is at: "+ feed.address);
160  const avax = await deployer.deploy(
161       feed, 
162       "AVAX/USD",
163       "0xf0cAe108823b80F37cfAA5E8aEc8190D66ED0d62",
164       oracleAdminAddr, //privledgedPublisherKeeper, may be address(0)
165       "0xED324Bf525b2D0cBba7664B89B8C3A44cf055665",
166       "0x2FFBEef25BC2812F5aF79471A3624216c687Bc91",
167       8 * 60 * 60,
168  [1669870800, 1669957200, 1670043600, 1670130000, 1670216400, 1670302800, 1670389200, 1670475600, 1670562000, 1670648400, 1670734800, 1670821200, 1670907600, 1670994000, 1671080400, 1671166800, 1671253200, 1671339600, 1671426000, 1671512400, 1671598800, 1671685200, 1671771600, 1671858000, 1671944400, 1672030800, 1672117200, 1672203600, 1672290000, 1672376400, 1672462800, 1672549200, 1672635600, 1672722000, 1672808400, 1672894800, 1672981200, 1673067600, 1673154000, 1673240400, 1673326800, 1673413200, 1673499600, 1673586000, 1673672400, 1673758800, 1673845200, 1673931600, 1674018000, 1674104400, 1674190800, 1674277200, 1674363600, 1674450000, 1674536400, 1674622800, 1674709200, 1674795600, 1674882000, 1674968400, 1675054800, 1675141200, 1675227600, 1675314000, 1675400400, 1675486800, 1675573200, 1675659600, 1675746000, 1675832400, 1675918800, 1676005200, 1676091600, 1676178000, 1676264400, 1676350800, 1676437200, 1676523600, 1676610000, 1676696400, 1676782800, 1676869200, 1676955600, 1677042000, 1677128400, 1677214800, 1677301200, 1677387600, 1677474000, 1677560400, 1677646800, 1677733200, 1677819600, 1677906000, 1677992400, 1678078800, 1678165200, 1678251600, 1678338000, 1678424400],
169  ['13156432000000000000', '12888829000000000000', '13587222000000000000', '13427192000000000000', '13924532000000000000', '13602818000000000000', '13665798000000000000', '13265929000000000000', '13406482000000000000', '13453391000000000000', '13480695000000000000', '12993829000000000000', '12992677000000000000', '13731134000000000000', '13725992000000000000', '13171334000000000000', '11845928000000000000', '11962940000000000000', '11925618000000000000', '11385845000000000000', '11965393000000000000', '11697935000000000000', '11843543000000000000', '11781606000000000000', '11680124000000000000', '11684330000000000000', '11720731000000000000', '11646214000000000000', '11203087000000000000', '10992426000000000000', '10870633000000000000', '10903734000000000000', '10866034000000000000', '11153684000000000000', '11383942000000000000', '12077433000000000000', '11742313000000000000', '11781933000000000000', '11741463000000000000', '12069568000000000000', '12207081000000000000', '12729663000000000000', '15849685000000000000', '15457517000000000000', '15961251000000000000', '16959484000000000000', '16796198000000000000', '16742638000000000000', '17129080000000000000', '15809412000000000000', '16193325000000000000', '17522947000000000000', '16891254000000000000', '17362207000000000000', '17995373000000000000', '17021235000000000000', '17797207000000000000', '18107416000000000000', '21251616000000000000', '20604452000000000000', '21076677000000000000', '19737555000000000000', '19842949000000000000', '20958088000000000000', '21173092000000000000', '21362614000000000000', '21025434000000000000', '20107220000000000000', '19580889000000000000', '20844481000000000000', '20085739000000000000', '17875814000000000000', '17802189000000000000', '18027767000000000000', '17770370000000000000', '17618523000000000000', '18145700000000000000', '19923826000000000000', '18610434000000000000', '19477030000000000000', '19572031000000000000', '19808090000000000000', '20815470000000000000', '20942158000000000000', '20316719000000000000', '19701887000000000000', '18373032000000000000', '17956930000000000000', '18442451000000000000', '17938501000000000000', '17082336000000000000', '17761551000000000000', '17447800000000000000', '16654119000000000000', '16122076000000000000', '16156301000000000000', '16524544000000000000', '16169670000000000000', '15135319000000000000', '14393946000000000000']
170     );
171        setTimeout(function(){},10000);
172     console.log("avax pyth feed is at: "+ feed.address);
173  
174     */
175  
176  };