Skip to content

Commit

Permalink
refactor: move Python scripts to "data"
Browse files Browse the repository at this point in the history
docs: polish README
refactor: rename script
  • Loading branch information
PaulRBerg committed Oct 2, 2023
1 parent 0bebb6a commit ef759ee
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 57 deletions.
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Sablier V2 🤝 Exactly Protocol

This repository contains a Forge script developed by the Sablier Labs team for Exactly Protocol. The script generates
Lockup Dynamic segments that emulate a polynomial function.
This repository contains several Forge scripts developed by the Sablier Labs team for Exactly Protocol. The scripts
generate Lockup Dynamic segments that emulate a polynomial function.

## Polynomial

Expand Down Expand Up @@ -29,6 +29,12 @@ forge script script/ExactlySchedule.s.sol \
-vvvv
```

## Helpers

Part of the Solidity code has been generated using the Python scripts located in the [data](/data) directory.

```sh

## Notes

- Run `foundryup` to ensure that you are running the latest version of Foundry
Expand All @@ -40,6 +46,7 @@ forge script script/ExactlySchedule.s.sol \
## References

- [Sablier Docs](https://docs.sablier.com)
- [Exactly](https://exact.ly/)

## Caveat Emptor

Expand All @@ -49,3 +56,4 @@ warranties and will not be liable for any loss, direct or indirect through conti
## License

This repo is licensed under GPL 3.0 or later.
```
108 changes: 54 additions & 54 deletions Exactly_Schedule.csv → data/exactly-schedule.csv
Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,Wallet Address:,0xA4F5f3848142116fe061e7255C133003a41ABce8,0xE72185a9f4Ce3500d6dC7CCDCfC64cf66D823bE8,0xE72185a9f4Ce3500d6dC7CCDCfC64cf66D823bE8,0xcd25c40dCfB47f6eE3112734393D25c9e21A3AA7,0xcd25c40dCfB47f6eE3112734393D25c9e21A3AA7,0x652afcD1EB1A90A622dC4033eE7630BdD3ad3E51,0xCa81a029aCa50Fa3e25Ea2f26E10152d903fB4B5,0xF891855Ddb613A9D56b6EAeA7495950B374181e2,0x7d5Ff8caE8eF8d15357Cfd4A291E830C0F875F1B,0x3A0B303FF6B7250ddb659AdD318c8e74f3e8104d,0x4073F392794218FA3195cce45eaaC9A77066c640,0xFB1E9918FBA266797e1191597b64ED6Be1EE2728,0x7b7048820FB71Db6F086c5365E2948ce39E73304,0xD754d49Ce331669C4f15B5e1b8E72D2d9Fc51B28,0xd3819BEd61861d281d45E79988f95d4371D25e2c,0x86C614FD180855f35160eD34552Ad4E99b8A2B52,0x997137e1c2A1A8A78CE2D17796b870eFbC7572D2
,Cliff Date:,01/01/2024,01/01/2024,5/23/2024,01/01/2024,5/23/2024,01/01/2024,01/01/2024,01/01/2024,4/20/2024,4/20/2024,01/01/2024,01/01/2024,01/01/2024,01/01/2024,01/01/2024,8/28/2024,01/01/2024
,End Date:,12/31/2026,12/31/2026,5/23/2027,12/31/2026,5/23/2027,12/31/2026,12/31/2026,12/31/2026,4/20/2027,4/20/2027,12/31/2026,12/31/2026,12/31/2026,12/31/2026,12/31/2026,9/28/2027,12/31/2026
,Number of Tokens:,"202,086","150,587","34,224","18,905","6,193","37,484","25,098","33,572","9,126","4,563","325,945","1,303,780","46,284","23,142","46,284","10,104","198,782"
Installment,Date ,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens
1,"January 31, 2024","3,039","2,007",0,234,0,450,235,283,0,0,"7,790","31,160",807,397,808,0,"5,522"
2,"February 29, 2024","6,301","4,180",0,488,0,942,497,603,0,0,"16,059","64,237","1,665",820,"1,667",0,"11,043"
3,"March 31, 2024","9,809","6,536",0,766,0,"1,480",790,963,0,0,"24,857","99,429","2,579","1,271","2,582",0,"16,565"
4,"April 30, 2024","13,540","9,059",0,"1,064",0,"2,058","1,111","1,361",63,32,"34,134","136,537","3,545","1,748","3,548",0,"22,087"
5,"May 31, 2024","17,521","11,767",237,"1,386",43,"2,683","1,463","1,800",137,69,"43,948","175,794","4,567","2,253","4,572",0,"27,609"
6,"June 30, 2024","21,716","14,636",512,"1,727",93,"3,348","1,841","2,275",221,111,"54,225","216,900","5,639","2,783","5,644",0,"33,130"
7,"July 31, 2024","26,169","17,697",826,"2,093",150,"4,061","2,251","2,793",316,158,"63,378","253,513","6,770","3,342","6,776",0,"38,652"
8,"August 31, 2024","30,861","20,935","1,180","2,482",214,"4,818","2,691","3,350",421,211,"72,432","289,729","7,955","3,928","7,962",0,"44,174"
9,"September 30, 2024","35,756","24,325","1,570","2,889",284,"5,612","3,157","3,941",536,268,"81,486","325,945","9,187","4,538","9,195",68,"49,696"
10,"October 31, 2024","40,920","27,915","2,002","3,321",362,"6,457","3,655","4,577",662,331,"90,540","362,161","10,481","5,179","10,490",148,"55,217"
11,"November 30, 2024","46,280","31,651","2,469","3,772",447,"7,338","4,178","5,245",797,398,"99,594","398,377","11,819","5,842","11,829",239,"60,739"
12,"December 31, 2024","51,916","35,594","2,978","4,249",539,"8,270","4,736","5,959",944,472,"108,648","434,593","13,221","6,537","13,232",341,"66,261"
13,"January 31, 2025","57,791","39,714","3,527","4,747",638,"9,246","5,322","6,713","1,101",550,"117,702","470,809","14,677","7,259","14,689",455,"71,782"
14,"February 28, 2025","63,743","43,891","4,096","5,253",741,"10,237","5,919","7,480","1,263",631,"126,756","507,026","16,151","7,989","16,164",580,"77,304"
15,"March 31, 2025","70,082","48,357","4,722","5,796",854,"11,299","6,564","8,311","1,440",720,"135,811","543,242","17,714","8,765","17,728",717,"82,826"
16,"April 30, 2025","76,599","52,956","5,379","6,355",973,"12,395","7,230","9,171","1,626",813,"144,865","579,458","19,318","9,560","19,332",865,"88,348"
17,"May 31, 2025","83,411","57,774","6,082","6,941","1,101","13,545","7,934","10,081","1,825",912,"153,919","615,674","20,989","10,390","21,004","1,024","93,869"
18,"June 30, 2025","90,392","62,719","6,816","7,544","1,233","14,727","8,658","11,018","2,031","1,016","162,973","651,890","22,699","11,238","22,714","1,195","99,391"
19,"July 31, 2025","97,677","67,889","7,597","8,175","1,375","15,965","9,420","12,007","2,250","1,125","172,027","688,106","24,428","12,122","24,428","1,377","104,913"
20,"August 31, 2025","105,200","73,238","8,418","8,828","1,523","17,247","10,212","13,034","2,480","1,240","181,081","724,322","25,713","12,857","25,713","1,570","110,434"
21,"September 30, 2025","112,881","78,703","9,267","9,496","1,677","18,558","11,023","14,088","2,717","1,358","190,135","760,538","26,999","13,500","26,999","1,775","115,956"
22,"October 31, 2025","120,877","84,404","10,165","10,193","1,839","19,928","11,873","15,194","2,967","1,484","199,189","796,754","28,285","14,142","28,285","1,991","121,478"
23,"November 30, 2025","129,022","90,216","11,091","10,904","2,007","21,325","12,742","16,325","3,225","1,612","208,243","832,971","29,570","14,785","29,570","2,219","127,000"
24,"December 31, 2025","134,724","96,268","12,067","11,646","2,184","22,783","13,651","17,510","3,496","1,748","217,297","869,187","30,856","15,428","30,856","2,458","132,521"
25,"January 31, 2026","140,338","102,498","13,083","12,409","2,367","24,284","14,590","18,734","3,777","1,889","226,351","905,403","32,142","16,071","32,142","2,708","138,043"
26,"February 28, 2026","145,951","108,683","14,096","13,168","2,551","25,774","15,521","19,948","4,058","2,029","235,405","941,619","33,427","16,714","33,427","2,970","143,565"
27,"March 31, 2026","151,565","112,940","15,188","13,975","2,748","27,362","16,517","21,250","4,360","2,180","244,459","977,835","34,713","17,357","34,713","3,243","149,087"
28,"April 30, 2026","157,178","117,123","16,304","14,704","2,950","28,974","17,530","22,573","4,668","2,334","253,513","1,014,051","35,999","17,999","35,999","3,527","154,608"
29,"May 31, 2026","162,792","121,306","17,474","15,229","3,162","30,195","18,585","23,953","4,991","2,495","262,567","1,050,267","37,285","18,642","37,285","3,823","160,130"
30,"June 30, 2026","168,405","125,489","18,667","15,754","3,378","31,236","19,655","25,354","5,320","2,660","271,621","1,086,483","38,570","19,285","38,570","4,130","165,652"
31,"July 31, 2026","174,019","129,672","19,915","16,279","3,604","32,278","20,769","26,812","5,663","2,832","280,675","1,122,699","39,856","19,928","39,856","4,449","171,173"
32,"August 31, 2026","179,632","133,855","21,202","16,804","3,837","33,319","21,912","28,310","6,017","3,009","289,729","1,158,916","41,142","20,571","41,142","4,779","176,695"
33,"September 30, 2026","185,246","138,038","22,510","17,329","4,073","34,360","23,006","29,827","6,377","3,188","298,783","1,195,132","42,427","21,214","42,427","5,120","182,217"
34,"October 31, 2026","190,859","142,221","23,875","17,855","4,320","35,401","23,703","31,403","6,752","3,376","307,837","1,231,348","43,713","21,856","43,713","5,473","187,739"
35,"November 30, 2026","196,473","146,404","25,259","18,380","4,571","36,442","24,401","32,640","7,131","3,566","316,891","1,267,564","44,999","22,499","44,999","5,837","193,260"
36,"December 31, 2026","202,086","150,587","26,702","18,905","4,832","37,484","25,098","33,572","7,527","3,763","325,945","1,303,780","46,284","23,142","46,284","6,213","198,782"
37,"January 31, 2027",,,"28,184",,"5,100",,,,"7,933","3,967",,,,,,"6,599",
38,"February 28, 2027",,,"29,641",,"5,364",,,,"8,332","4,166",,,,,,"6,998",
39,"March 31, 2027",,,"31,200",,"5,646",,,,"8,758","4,379",,,,,,"7,407",
40,"April 30, 2027",,,"32,775",,"5,931",,,,"9,126","4,563",,,,,,"7,828",
41,"May 31, 2027",,,"34,224",,"6,193",,,,,,,,,,,"8,261",
42,"June 30, 2027",,,,,,,,,,,,,,,,"8,704",
43,"July 31, 2027",,,,,,,,,,,,,,,,"9,160",
44,"August 31, 2027",,,,,,,,,,,,,,,,"9,626",
45,"September 30, 2027",,, ,,,,,,,,,,,,,"10,104",
,,,,, ,,,,,,,,,,,,,
,,,,, ,,,,,,,,,,,,,
,,,,, ,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,Wallet Address:,0xA4F5f3848142116fe061e7255C133003a41ABce8,0xE72185a9f4Ce3500d6dC7CCDCfC64cf66D823bE8,0xE72185a9f4Ce3500d6dC7CCDCfC64cf66D823bE8,0xcd25c40dCfB47f6eE3112734393D25c9e21A3AA7,0xcd25c40dCfB47f6eE3112734393D25c9e21A3AA7,0x652afcD1EB1A90A622dC4033eE7630BdD3ad3E51,0xCa81a029aCa50Fa3e25Ea2f26E10152d903fB4B5,0xF891855Ddb613A9D56b6EAeA7495950B374181e2,0x7d5Ff8caE8eF8d15357Cfd4A291E830C0F875F1B,0x3A0B303FF6B7250ddb659AdD318c8e74f3e8104d,0x4073F392794218FA3195cce45eaaC9A77066c640,0xFB1E9918FBA266797e1191597b64ED6Be1EE2728,0x7b7048820FB71Db6F086c5365E2948ce39E73304,0xD754d49Ce331669C4f15B5e1b8E72D2d9Fc51B28,0xd3819BEd61861d281d45E79988f95d4371D25e2c,0x86C614FD180855f35160eD34552Ad4E99b8A2B52,0x997137e1c2A1A8A78CE2D17796b870eFbC7572D2
,Cliff Date:,01/01/2024,01/01/2024,5/23/2024,01/01/2024,5/23/2024,01/01/2024,01/01/2024,01/01/2024,4/20/2024,4/20/2024,01/01/2024,01/01/2024,01/01/2024,01/01/2024,01/01/2024,8/28/2024,01/01/2024
,End Date:,12/31/2026,12/31/2026,5/23/2027,12/31/2026,5/23/2027,12/31/2026,12/31/2026,12/31/2026,4/20/2027,4/20/2027,12/31/2026,12/31/2026,12/31/2026,12/31/2026,12/31/2026,9/28/2027,12/31/2026
,Number of Tokens:,"202,086","150,587","34,224","18,905","6,193","37,484","25,098","33,572","9,126","4,563","325,945","1,303,780","46,284","23,142","46,284","10,104","198,782"
Installment,Date ,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens,Unlocked Tokens
1,"January 31, 2024","3,039","2,007",0,234,0,450,235,283,0,0,"7,790","31,160",807,397,808,0,"5,522"
2,"February 29, 2024","6,301","4,180",0,488,0,942,497,603,0,0,"16,059","64,237","1,665",820,"1,667",0,"11,043"
3,"March 31, 2024","9,809","6,536",0,766,0,"1,480",790,963,0,0,"24,857","99,429","2,579","1,271","2,582",0,"16,565"
4,"April 30, 2024","13,540","9,059",0,"1,064",0,"2,058","1,111","1,361",63,32,"34,134","136,537","3,545","1,748","3,548",0,"22,087"
5,"May 31, 2024","17,521","11,767",237,"1,386",43,"2,683","1,463","1,800",137,69,"43,948","175,794","4,567","2,253","4,572",0,"27,609"
6,"June 30, 2024","21,716","14,636",512,"1,727",93,"3,348","1,841","2,275",221,111,"54,225","216,900","5,639","2,783","5,644",0,"33,130"
7,"July 31, 2024","26,169","17,697",826,"2,093",150,"4,061","2,251","2,793",316,158,"63,378","253,513","6,770","3,342","6,776",0,"38,652"
8,"August 31, 2024","30,861","20,935","1,180","2,482",214,"4,818","2,691","3,350",421,211,"72,432","289,729","7,955","3,928","7,962",0,"44,174"
9,"September 30, 2024","35,756","24,325","1,570","2,889",284,"5,612","3,157","3,941",536,268,"81,486","325,945","9,187","4,538","9,195",68,"49,696"
10,"October 31, 2024","40,920","27,915","2,002","3,321",362,"6,457","3,655","4,577",662,331,"90,540","362,161","10,481","5,179","10,490",148,"55,217"
11,"November 30, 2024","46,280","31,651","2,469","3,772",447,"7,338","4,178","5,245",797,398,"99,594","398,377","11,819","5,842","11,829",239,"60,739"
12,"December 31, 2024","51,916","35,594","2,978","4,249",539,"8,270","4,736","5,959",944,472,"108,648","434,593","13,221","6,537","13,232",341,"66,261"
13,"January 31, 2025","57,791","39,714","3,527","4,747",638,"9,246","5,322","6,713","1,101",550,"117,702","470,809","14,677","7,259","14,689",455,"71,782"
14,"February 28, 2025","63,743","43,891","4,096","5,253",741,"10,237","5,919","7,480","1,263",631,"126,756","507,026","16,151","7,989","16,164",580,"77,304"
15,"March 31, 2025","70,082","48,357","4,722","5,796",854,"11,299","6,564","8,311","1,440",720,"135,811","543,242","17,714","8,765","17,728",717,"82,826"
16,"April 30, 2025","76,599","52,956","5,379","6,355",973,"12,395","7,230","9,171","1,626",813,"144,865","579,458","19,318","9,560","19,332",865,"88,348"
17,"May 31, 2025","83,411","57,774","6,082","6,941","1,101","13,545","7,934","10,081","1,825",912,"153,919","615,674","20,989","10,390","21,004","1,024","93,869"
18,"June 30, 2025","90,392","62,719","6,816","7,544","1,233","14,727","8,658","11,018","2,031","1,016","162,973","651,890","22,699","11,238","22,714","1,195","99,391"
19,"July 31, 2025","97,677","67,889","7,597","8,175","1,375","15,965","9,420","12,007","2,250","1,125","172,027","688,106","24,428","12,122","24,428","1,377","104,913"
20,"August 31, 2025","105,200","73,238","8,418","8,828","1,523","17,247","10,212","13,034","2,480","1,240","181,081","724,322","25,713","12,857","25,713","1,570","110,434"
21,"September 30, 2025","112,881","78,703","9,267","9,496","1,677","18,558","11,023","14,088","2,717","1,358","190,135","760,538","26,999","13,500","26,999","1,775","115,956"
22,"October 31, 2025","120,877","84,404","10,165","10,193","1,839","19,928","11,873","15,194","2,967","1,484","199,189","796,754","28,285","14,142","28,285","1,991","121,478"
23,"November 30, 2025","129,022","90,216","11,091","10,904","2,007","21,325","12,742","16,325","3,225","1,612","208,243","832,971","29,570","14,785","29,570","2,219","127,000"
24,"December 31, 2025","134,724","96,268","12,067","11,646","2,184","22,783","13,651","17,510","3,496","1,748","217,297","869,187","30,856","15,428","30,856","2,458","132,521"
25,"January 31, 2026","140,338","102,498","13,083","12,409","2,367","24,284","14,590","18,734","3,777","1,889","226,351","905,403","32,142","16,071","32,142","2,708","138,043"
26,"February 28, 2026","145,951","108,683","14,096","13,168","2,551","25,774","15,521","19,948","4,058","2,029","235,405","941,619","33,427","16,714","33,427","2,970","143,565"
27,"March 31, 2026","151,565","112,940","15,188","13,975","2,748","27,362","16,517","21,250","4,360","2,180","244,459","977,835","34,713","17,357","34,713","3,243","149,087"
28,"April 30, 2026","157,178","117,123","16,304","14,704","2,950","28,974","17,530","22,573","4,668","2,334","253,513","1,014,051","35,999","17,999","35,999","3,527","154,608"
29,"May 31, 2026","162,792","121,306","17,474","15,229","3,162","30,195","18,585","23,953","4,991","2,495","262,567","1,050,267","37,285","18,642","37,285","3,823","160,130"
30,"June 30, 2026","168,405","125,489","18,667","15,754","3,378","31,236","19,655","25,354","5,320","2,660","271,621","1,086,483","38,570","19,285","38,570","4,130","165,652"
31,"July 31, 2026","174,019","129,672","19,915","16,279","3,604","32,278","20,769","26,812","5,663","2,832","280,675","1,122,699","39,856","19,928","39,856","4,449","171,173"
32,"August 31, 2026","179,632","133,855","21,202","16,804","3,837","33,319","21,912","28,310","6,017","3,009","289,729","1,158,916","41,142","20,571","41,142","4,779","176,695"
33,"September 30, 2026","185,246","138,038","22,510","17,329","4,073","34,360","23,006","29,827","6,377","3,188","298,783","1,195,132","42,427","21,214","42,427","5,120","182,217"
34,"October 31, 2026","190,859","142,221","23,875","17,855","4,320","35,401","23,703","31,403","6,752","3,376","307,837","1,231,348","43,713","21,856","43,713","5,473","187,739"
35,"November 30, 2026","196,473","146,404","25,259","18,380","4,571","36,442","24,401","32,640","7,131","3,566","316,891","1,267,564","44,999","22,499","44,999","5,837","193,260"
36,"December 31, 2026","202,086","150,587","26,702","18,905","4,832","37,484","25,098","33,572","7,527","3,763","325,945","1,303,780","46,284","23,142","46,284","6,213","198,782"
37,"January 31, 2027",,,"28,184",,"5,100",,,,"7,933","3,967",,,,,,"6,599",
38,"February 28, 2027",,,"29,641",,"5,364",,,,"8,332","4,166",,,,,,"6,998",
39,"March 31, 2027",,,"31,200",,"5,646",,,,"8,758","4,379",,,,,,"7,407",
40,"April 30, 2027",,,"32,775",,"5,931",,,,"9,126","4,563",,,,,,"7,828",
41,"May 31, 2027",,,"34,224",,"6,193",,,,,,,,,,,"8,261",
42,"June 30, 2027",,,,,,,,,,,,,,,,"8,704",
43,"July 31, 2027",,,,,,,,,,,,,,,,"9,160",
44,"August 31, 2027",,,,,,,,,,,,,,,,"9,626",
45,"September 30, 2027",,, ,,,,,,,,,,,,,"10,104",
,,,,, ,,,,,,,,,,,,,
,,,,, ,,,,,,,,,,,,,
,,,,, ,,,,,,,,,,,,,
,,,,, ,,,,,,,,,,,,,
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { BaseScript } from "@sablier/v2-core-script/Base.s.sol";
// import { Batch } from "@sablier/v2-periphery/src/types/DataTypes.sol";
// import { IPRBProxy, IPRBProxyPlugin, IPRBProxyRegistry } from "@sablier/v2-periphery/src/types/Proxy.sol";

contract ExactlyProtocolScript is BaseScript {
contract ExactlyDraftScript is BaseScript {
/*//////////////////////////////////////////////////////////////////////////
EXACTLY PARAMS
//////////////////////////////////////////////////////////////////////////*/
Expand Down

0 comments on commit ef759ee

Please sign in to comment.