launchpad-qa
Pre-release
Pre-release
What's Changed
- feat: [GSC-1] Init Pool by @r3v4s in #1
- feat: [GSC-2] Init Factory by @r3v4s in #2
- feat: [GSC-3] Init Liquidity by @r3v4s in #3
- feat: [GSC-4] Init Router by @r3v4s in #4
- feat: [GSC-5] Init Staker by @r3v4s in #5
- refactor: [GSC-27] Refactor Pool by @r3v4s in #6
- refactor: [GSC-34] Replace bigdec to Bigint + Q Notation // Pool by @r3v4s in #7
- refactor: [GSC-42] Remove unnecessary rounding up/down logic of pool by @r3v4s in #8
- feat: [GSC-43] Implement pool contract getters by @r3v4s in #10
- chore: Add license by @dongwon8247 in #13
- feat: [GSC-48] Change pool contract not to use *grc20.AdminToken by @r3v4s in #11
- feat: [GSC-47] Make liquidity contract(+testcase) runnable by @r3v4s in #12
- fix: [GSC-50] Fix panic: interface conversion: interface {} is nil, not stdlibs.ExecContext by @r3v4s in #14
- chore: [GSC-51] Rename liquidity contract to position by @r3v4s in #15
- feat: [GSC-49] Make staker contract(+testcase) runnable by @r3v4s in #16
- feat: [GSC-68] Fix bigint -> int64/uint64 conversion by @r3v4s in #17
- refactor: [GSC-67] Change pool contract from type map to avl.tree by @r3v4s in #18
- feat: [GSC-56] Implement pool getter for api by @r3v4s in #19
- refactor: [GSC-69] Change position contract from type
map
toavl.tree
by @r3v4s in #20 - feat: [GSC-57] Implement position getter for api by @r3v4s in #21
- refactor: Change staker contract from type map to avl.tree by @r3v4s in #35
- feat: Implement staker getter for api by @r3v4s in #36
- refactor: Change argument type from struct to []string by @r3v4s in #37
- feat: Implement lockup duration by @r3v4s in #38
- chore: apply fmt by @r3v4s in #39
- feat: merge factory to pool contract, with type.gno by @r3v4s in #44
- feat/makefile by @r3v4s in #45
- feat: global protocol fee with admin limit by @r3v4s in #47
- feat: apply new grc20 & grc721 (with PrevRealm) by @r3v4s in #48
- feat/getters_json by @r3v4s in #49
- Governance proof of concept by @mconcat in #46
- feat: integration test case by @r3v4s in #55
- feat: replace
avl.Tree
tomap
by @r3v4s in #50 - feat: unify error type and format by @r3v4s in #51
- refactor by @r3v4s in #52
- feat: staker by @r3v4s in #53
- fix: apply new staker to gov, pool by @r3v4s in #54
- Gsc 115 write readme by @harryoh in #56
- fix: makefile by @r3v4s in #57
- feat: change staking reward to relative position liquidity by @r3v4s in #58
- feat: change staking reward to absolute distribution wallet balance by @r3v4s in #59
- Gsw 58 fix makefiles for testing by @harryoh in #60
- feat: remove unnecessary bigint by @r3v4s in #61
- GSW-45 feat: limit some pool function to only callable by position contract by @r3v4s in #62
- GSW-293 refactor: makefile testcases as integration by @r3v4s in #63
- GSW-292 test: apply gjson in testcase by @r3v4s in #64
- GSW-47 feat: add necessary logic for api to contract by @r3v4s in #65
- Phase v1 by @r3v4s in #66
- Gsw 387 docker image by @harryoh in #67
- Gsw 391 gnoswap readme by @harryoh in #68
- feat: phase_v1 231010 by @r3v4s in #69
- Gsw 390 docker compose by @harryoh in #70
- GSW-404 feat: estimate liquidity amounts by @r3v4s in #71
- GSW-403 feat: route rpc by @r3v4s in #72
- GSW-418 feat: dry swap by @r3v4s in #73
- GSW-418 feat: dry swap + fix: various bug by @r3v4s in #74
- [GSW-426] chore: makefile get chainid from environment variable by @harryoh in #75
- GSW-430 fix: swap logic when
amountSpecified
is negative by @r3v4s in #76 - GSW-431 feat: return pool detail in
FindBestPool()
by @r3v4s in #77 - GSW-439 fix: Dryswap() uses opposite value to check by @r3v4s in #78
- GSW-441 fix:
FindBestPool
usesDrySwap()
to pool path in first condition by @r3v4s in #79 - GSW-516 feat: call grc 20 function with registered interface by @r3v4s in #80
- GSW-530 feat: swap router by @r3v4s in #81
- GSW-401 feat: spend 500 gns when creating new pool by @r3v4s in #82
- GSW-357 feat: change external incentive distribution period by @r3v4s in #83
- GSW-358 feat: use caller address when calculation incentive id by @r3v4s in #84
- GSW-303 feat: support ugnot native coin (+fix banker) by @r3v4s in #85
- GSW-522 feat: rpc to support register interface by @r3v4s in #86
- GSW-553 fix: actual swap when output amounts is given by @r3v4s in #87
- GSW-549 upgrade makefile by @r3v4s in #88
- GSW-558 fix position mint depends on input token pair by @r3v4s in #89
- GSW-559: fix pool create pools price depends on input token pair by @r3v4s in #90
- GSW-554 feat: GetStake (list, byPool, byAddress) by @r3v4s in #91
- GSW-560 feat: router takes possible path as string parameter by @r3v4s in #92
- GSW-561 fix: router check minimum output or maximum input by @r3v4s in #93
- GSW-567 feat: return position's token pair balance in api by @r3v4s in #94
- GSW-568 feat IsStaked (token_id) in staker api by @r3v4s in #95
- GSW-569 feat: get
quotes
as string parameters by @r3v4s in #96 - GSW-571 return every necessary pool data to calculate price by @r3v4s in #97
- GSW-573 fix: swap amount calculation with negative tick by @r3v4s in #98
- GSW-572 feat: get unclaimed fee in position by @r3v4s in #99
- GSW-562 chore: update test env by @r3v4s in #100
- chore: Change exec script path by @jinoosss in #101
- GSW-579 chore return entire
tickbitmap
value in pool rpc api by @r3v4s in #102 - GSW-592 fix: pool, router swap direction by @r3v4s in #104
- GSW-595 chore: update wugnot by @r3v4s in #105
- GSW-605 fix: account create missing index by @r3v4s in #106
- GSW-609 change ugnot handling by @r3v4s in #107
- GSW-607 chore new makefile for only init by @r3v4s in #108
- GSW-596 multi msg in makefile by @r3v4s in #109
- GSW-616 send
1ugnot
to gov by @r3v4s in #111 - GSW-625 chore: change chain init makefile by @r3v4s in #112
- GSW-627 chore: add 2 non register grc20 tokens by @r3v4s in #113
- GSW-631: fix token price(old value) by @r3v4s in #114
- GSW-636 fix wrap unwrap by @r3v4s in #115
- GSW-637 feat: addpkg
grc20
with decimal '6' by @r3v4s in #116 - GSW-644 chore: use tick with grc20 decimal consideration by @r3v4s in #117
- fix missing router in testing by @notJoon in #110
- GSW-603 feat: CollectReward() by @r3v4s in #119
- GSW-664 test: more token and precise value in init.mk by @r3v4s in #120
- GSW-668 test: reduce initialize process by @r3v4s in #121
- GSW-669 chore: change prefix realm path to
gno.land/r/demo
by @r3v4s in #122 - GSW-675 feat: use common wrapped ugnot by @r3v4s in #123
- GSW-675 additional, fix makefile by @r3v4s in #124
- GSW-679 fix: position liquidity by @r3v4s in #125
- GSW-685 fix: cannot decrease liquidity at staked position by @r3v4s in #126
- GSW-636 refactor: use custom helper instead of
delete
by @r3v4s in #127 - GSW-687 feat: staker contract data getter by @r3v4s in #128
- GSW-692 test: minimize init process by @r3v4s in #129
- GSW-669 feat: use new admin address by @r3v4s in #130
- GSW-698 feat: allow certain address to execute end external only when time is over by @r3v4s in #131
- GSW-693 feat: position collect fee burned liquidity by @r3v4s in #132
- GSW-702 feat: certain grc20 to faucet more by @r3v4s in #134
- GSW-705 fix: tickSpacing maxLiquidity calculation by @r3v4s in #135
- GSW-709 fix: CollectReward() by @r3v4s in #136
- fix: makefile to wait chain by @r3v4s in #137
- GSW-712 fix: staker reward calculation by @r3v4s in #138
- GSW-719 fix: tick rouding error by @r3v4s in #139
- GSW-576 feat: faucet contract for testing by @r3v4s in #140
- GSW-732 fix: staker int bigint conversion by @r3v4s in #142
- fix: deploy faucet realm by @r3v4s in #141
- GSW-733 fix: amountSpecified is zero by @r3v4s in #143
- GSW-782 fix: minimize gap between dry ≈ actual route swap by @r3v4s in #144
- [GSW-783] fix: reduce iteration time (BitmapIndex bug) by @r3v4s in #145
- GSW-794 feat: more rpc data to simulate dry swap externally by @r3v4s in #146
- GSW-810 feat:
MakeRpcPools
to return list of pools data by @r3v4s in #147 - GSW-820 fix: token price calculation by @r3v4s in #148
- GSW-835 feat:
MakeRpcPool(s)
to return position info by @r3v4s in #149 - GSW-838 feat add query metadata in every api function by @r3v4s in #150
- GSW-838 feat add query metadata in every api function #2 by @r3v4s in #151
- GSW-838 feat add query metadata in every api function #3 by @r3v4s in #152
- GSW-851 feat: use fixed-value from const by @r3v4s in #153
- GSW-856 feat: mutex lock by @r3v4s in #154
- GSW-859 chore: better require handling by @r3v4s in #156
- Add consts package and update references to MIN_PRICE by @notJoon in #155
- Refactor:
sqrt-price-math
by @notJoon in #157 - GSW-860 fix makefile testcases by @r3v4s in #158
- GSW-862 fix: cyclic import by @r3v4s in #159
- refactor: pool/tick_math.gno by @notJoon in #161
- refactor: pool/bit_math by @notJoon in #163
- refactor: position/liquidity_amounts by @notJoon in #160
- GSW-867 feat common calculation logic to separate package by @r3v4s in #162
- Remove unnecessary checks from
liquidityMathAddDelta
function by @notJoon in #168 - GSW-871 feat: use common consts by @r3v4s in #166
- GSW-863 feat: deploy without testcase by @r3v4s in #169
- GSW-872 detailed condition to check staking reward by @r3v4s in #170
- chore(staker): Fix wrong function name in staker by @notJoon in #171
- GSW-873 fix: test cases under
_test
folder ≈ based on scenario by @r3v4s in #173 - GSW-874 feat: getters without receiver by @r3v4s in #174
- GSW-792 feat do not burn nft even entire liquidity is removed by @r3v4s in #175
- GSW-875 feat use compute route logic from uniswap for router to calculate ratio by @r3v4s in #176
- GSW-793 feat support increase decrease liquidity for positions by @r3v4s in #177
- GSW-876 feat register token helpers by @r3v4s in #178
- GSW-877 feat: implement some todos by @r3v4s in #179
- GSW-807 protocol fees by @r3v4s in #180
- GSW-880 feat: test case init its own state by @r3v4s in #183
- GSW-887: Create test case for tick math (2) by @notJoon in #185
- u256 by @mconcat in #118
- GSW-888: Test for Pool Tick Bitmap by @notJoon in #187
- GSW-846: feat: uint256, int256 instead of bigint by @r3v4s in #188
- GSW-907 remove requires by @r3v4s in #189
- GSW-908 feat: admin can change internal staking pool tiers by @r3v4s in #191
- adding json package to gnoswap by @notJoon in #193
- GSW-900 oneclick by @r3v4s in #194
- GSW-919 more optimizations by @r3v4s in #195
- GSW-959 fix: change package deploy path by @r3v4s in #196
- GSW-960 fix: change grc20 token address type by @r3v4s in #197
- GSW-980 test: apply txtar instead of makefile by @r3v4s in #198
- GSW-1000 feat: apply json from gno repo by @r3v4s in #200
- GSW-999 feat apply
uint256
,int256
from gno repo by @r3v4s in #199 - GSW-1001 refactor: decrease gas consumption by @r3v4s in #201
- GSW-1003 feat: register contract for default grc20 tokens (foo20,wugnot) by @r3v4s in #202
- GSW-881 refactor: pool by @r3v4s in #203
- GSW-1002 build: Git Action to CI test by @r3v4s in #204
- GSW-1005 test makefiles to execute most of function by @r3v4s in #205
- GSW-1012 feat: conditions for external incentive start time by @r3v4s in #207
- GSW-1014 feat: check incentive active status from chain time by @r3v4s in #208
- hotfix: position api unclaimed fee calculation by @r3v4s in #209
- GSW-1025 fix: overflow router ratio calculation by @r3v4s in #210
- fix: remove struct (which isn't primitive type, causing bunch of eror) return by @r3v4s in #211
- GSW-1035 feat: check normal time-range for incentive creation by @r3v4s in #212
- GSW-1032 feat: ApiGetPool(poolPath) to retrieve single pool information by @r3v4s in #213
- hotfix: terminate functions by @r3v4s in #214
- GSW-1045 feat: update uint256 overflow calcualtion logic by @r3v4s in #215
- GSW-1045 #2: fix test cases + rounding error by @r3v4s in #216
- GSW-1037 apply emit event in contract by @r3v4s in #217
- GSW-1070 feat increase liquidity on a pool containing gnot tokens by @r3v4s in #219
- GSW-1071 fix unclaimed fee overflow underflow by @r3v4s in #220
- GSW-1069 fix: one click staking for native ugnot coin (wrapping issue) by @r3v4s in #218
- GSW-1072 feat: unwrap wugnot in position
CollectFee
by @r3v4s in #221 - chore: remove faucet and mint by @r3v4s in #222
- build: apply gno's new static analysis by @r3v4s in #223
- test: update by @r3v4s in #224
- feat/staker wugnot wrap unwrap by @r3v4s in #226
- fix: position tokens owed calculation (overflow/underflow) by @r3v4s in #225
- GSW-1074 feat: add
callType
field in all gnoswap events by @r3v4s in #227 - GSW-1077 fix: external incentive token amount calculation by @r3v4s in #228
- fix/stake reward calculation by @r3v4s in #229
- hotfix: tickSpacing 1 for 0.01% pool by @r3v4s in #230
- fix/staker internal reward by @r3v4s in #232
- hotfix/decrease liquidity unwrap amount by @r3v4s in #233
- hotfix/collect fee underflow by @r3v4s in #234
- feat: entire(or single) position unclaimed fee getter by @r3v4s in #236
- GSW-1118 feat: entire or single pool staking reward getter by @r3v4s in #237
- hotfix: remove unused variable (results deploy error) by @r3v4s in #235
- hotfix: remove unused variable by @r3v4s in #238
- feat/use-TestSetRealm-in-testcases by @r3v4s in #239
- fix/gno-type-check by @r3v4s in #240
- feat: reposition with same lp token id by @r3v4s in #241
- GSW-1140 fix: collect swap router fee in ugnot if wugnot is token out by @r3v4s in #242
- GSW-1136 fix: insufficient allowance when add liquidity(for position with ugnot coin) by @r3v4s in #243
- GSW-1195 fix: cannot increase liquidity for burned position by @r3v4s in #244
- GSW-1198 feat burned positions liquidity can be increased by @r3v4s in #245
- GSW-1192 feat: add a getter setter function for all protocol fees by @r3v4s in #246
- GSW-1142 feat: gns (mint with permission) + pre-calculated halving amount by @r3v4s in #247
- GSW-1145 feat: distribution calculation in emission by @r3v4s in #249
- GSW-1146 feat: every gnoswap public function that changes state should call emission by @r3v4s in #250
- GSW-1149 calculate pool position reward then transfer by @r3v4s in #251
- GSW-1150 feat: left emissioned gns amount to fee contract by @r3v4s in #252
- GSW-1203 feat: limit reward token for external incentives by @r3v4s in #253
- GSW-1245 transfer all protocol fees to contract not wallet by @r3v4s in #254
- GSW-1155 distribute protocol fee to devops and xgns contract by @r3v4s in #255
- GSW-1246 update wallet and contract permission by @r3v4s in #256
- GSW-1152 community pool by @r3v4s in #257
- GSW-1243 calculate external reward with incentive time by @r3v4s in #258
- GSW-1248 feat staker external incentive rpc return with left amount by @r3v4s in #259
- GSW-1251 refactor: grc20 tokens by @r3v4s in #260
- Update README.md by @dongwon8247 in #261
- GSW-1250 feat return staked position timestamp to calculate next tier by @r3v4s in #263
- GSW-714 test: decrease warm up period time, start external incentive after 2 minute by @r3v4s in #264
- refactor/change deploy path by @r3v4s in #265
- GSW-1260 feat: community pool to support register pattern by @r3v4s in #266
- GSW-1264 feat: calculate gns emission amount every block, but transfer it once by @r3v4s in #267
- GSW-1265 hotfix: change default staking pool path by @r3v4s in #268
- GSW-1244 feat: gns halving based on block time 2s by @r3v4s in #269
- GSW-1267 feat: setter for protocol fee distribution percent by @r3v4s in #270
- GSW-1269 feat: internal incentive getter to include timestamp by @r3v4s in #271
- hotfix: unstaking protocol fee to 1% by @r3v4s in #272
- GSW-1277 fix: calculate incentive with height(not timestamp) by @r3v4s in #273
- GSW-1272 fix: only in-range staked position can be rewarded by @r3v4s in #274
- GSW-1276 feat getter setter for staking warm up period by @r3v4s in #275
- GSW-1282 feat: minimum liquidity ratio to get reward is 0.00001% by @r3v4s in #276
- GSW-1283 fix calculate position gns emission amount for each warm up period by @r3v4s in #277
- GSW-1286 calculate position ratio amount when user actually requested by @r3v4s in #278
- hotfix/deploy issues by @r3v4s in #279
- hotfix: pool left amount calculation by @r3v4s in #280
- hotfix/calculations by @r3v4s in #282
- GSW-1226 feat create nft images for positions by @r3v4s in #283
- GSW-1319 fix: unable to stake before the staking period starts by @r3v4s in #285
- GSW-1331 feat: support slippage for repositioning by @r3v4s in #286
- GSW-1334 refactor: old governance contract and related codes by @r3v4s in #287
- GSW-1335 feat: change nft tokenUri without whitespacing by @r3v4s in #290
- setup script by @notJoon in #289
- Update README by @notJoon in #288
- GSW-1308 fix: bug incentive data gets reset when a new pool is added into the emission list by @r3v4s in #284
- feat: Update setup.py by @notJoon in #292
- GSW-1339 feat: router contract set sqrt price limit by @r3v4s in #293
- Update pool documents and Some Refactoring by @notJoon in #294
- GSW-1344 fix: apply warm up period logic to external incentives by @r3v4s in #295
- Update Position docs and Apply Refactoring by @notJoon in #296
- GSW-1347 fix: external gns reward amount being used in internal gns emission by @r3v4s in #298
- GSW-1348 feat: emit protocol fee transfer event by @r3v4s in #299
- GSW-1360 calculate external incentive id with current block height by @r3v4s in #300
- GSW-1348 emit protocol fee transfer event more by @r3v4s in #301
- Update Staker's documents by @notJoon in #303
- GSW-1372 feat: use q notation when calculation external rewards by @r3v4s in #304
- feat: Refactor Router logic by @notJoon in #297
- GSW-1379 feat: calculate gns amount per block dynamically based on block time by @r3v4s in #305
- remove new instance (Position) by @notJoon in #302
- GSW-1387 fix external remaining amount by @r3v4s in #306
- GSW-1390 feat: improve internal incentivized amount by @r3v4s in #307
- GSW-1395 feat: if position has no liquidity, decrease should panic by @r3v4s in #308
- GSW-1397 feat: call calc pool position when swap happens by @r3v4s in #309
- refactor: main branch to use v2 structure by @r3v4s in #310
- GSW-1399 fix do not use existing wugnot balance when swapping ugnot by @r3v4s in #311
- GSW-1401 fix: do not panic in SetTokenURI, SetTokenURILast by @r3v4s in #313
- chore: Copy files to v2 subdirectory and Readme by @notJoon in #312
- GSW-1397 fix update reward when positions range has been change by @r3v4s in #315
- GSW-1419 docs: readme by @r3v4s in #318
- GSW-1411 feat: gns halving getter by @r3v4s in #317
- GSW-1406 fix: unwrap ugnot incentive when collection rewards by @r3v4s in #316
- GSW-1404 fix: tokensOwed when Collecting Fees by @r3v4s in #319
- GSW-1379 feat: add event for SetAvgBlockTimeInMs by @r3v4s in #320
- GSW-1424 refactor: remove iteration if block ranges are in same halving year by @r3v4s in #321
- GSW-1425 refactor staker reward calculation by @r3v4s in #322
- GSW-1444 fix: router to check output amount for EXACT_OUT swap by @r3v4s in #324
- GSW-1488 test: each external duration with 4 different staked position by @r3v4s in #325
- GSW-1449 test: fix type comparison by @r3v4s in #326
- GSW-1445 getter to query positions external reward info with warm up penalty by @r3v4s in #327
- GSW-1432 reward calculation base data getter by @r3v4s in #323
- GSW-1365 feat deposit gns to create external incentive by @r3v4s in #328
- GSW-1491 fix decrease remove position toggle should be used by amount and fee by @r3v4s in #330
- GSW-1537 test // test case with mock-data by @r3v4s in #332
- GSW-1538 feat: improve by @r3v4s in #334
- GSW-1458 feat: governance by @r3v4s in #331
- GSW-1575 feat: proposal quorum by @r3v4s in #335
- GSW-1577 fix: condition to check proposal status by @r3v4s in #336
- GSW-1579 feat: proposer can propose several proposals by @r3v4s in #337
- GSW-1604 fix: wrong voting weight by @r3v4s in #338
- GSW-1610 fix: collect xGns reward when undelegation by @r3v4s in #339
- GSW-1618 fix: gov staker protocol fee reward calculation by @r3v4s in #340
- GSW-1617 fix: proposal status update logic by @r3v4s in #341
- GSW-1620 feat: support multiple execution with single proposal by @r3v4s in #342
- audit by BigInteger by @r3v4s in #343
- change audit file by @dongwon8247 in #344
- GSW-1462 launchpad contract by @r3v4s in #345
- GSW-1657 replace
origCaller
toprevRealm
by @r3v4s in #346 - GSW-1662 feat able to collect deposit gns by project and each single deposit by @r3v4s in #347
- GSW-1639 feat: launchpad getters for rdb by @r3v4s in #348
New Contributors
- @dongwon8247 made their first contribution in #13
- @mconcat made their first contribution in #46
- @harryoh made their first contribution in #56
- @jinoosss made their first contribution in #101
- @notJoon made their first contribution in #110
Full Changelog: https://github.com/gnoswap-labs/gnoswap/commits/launchpad-qa