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

feat: lock token transfer and parameter module #3176

Closed
wants to merge 60 commits into from
Closed
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
2279644
feat: lock token transfer and parameter module
piux2 Nov 21, 2024
c293926
chores: ufmt
piux2 Nov 21, 2024
3591b39
addressed comments
piux2 Dec 9, 2024
c84c819
merge master
piux2 Dec 27, 2024
5cecf36
merge master
piux2 Dec 27, 2024
599e64a
fmt
piux2 Dec 27, 2024
b7f317a
fix test
piux2 Dec 27, 2024
41d1633
lint
piux2 Dec 27, 2024
9fd24d5
fix test
piux2 Dec 27, 2024
9f05d03
gno tidy
piux2 Dec 27, 2024
692bc1d
addressed review comments
piux2 Jan 20, 2025
df5cc2f
fix bugs
piux2 Jan 21, 2025
41378f5
lint
piux2 Jan 21, 2025
f95e945
fix bugs and clean up
piux2 Jan 21, 2025
ad9eb84
Merged master into this branch
piux2 Jan 22, 2025
529bd97
fix test
piux2 Jan 22, 2025
bd27b2e
fix integration test
piux2 Jan 22, 2025
696ab02
refactor the unlocksend proposal
piux2 Jan 22, 2025
52cdd68
remove unnecessary check
piux2 Jan 23, 2025
ba1c49e
refactor gno account attributes
piux2 Jan 25, 2025
0313890
added tests
piux2 Jan 25, 2025
625fa5b
fix test
piux2 Jan 25, 2025
842c80d
cleaned up interfaces and addressed empty genesis state
piux2 Jan 30, 2025
c3c64e1
added setPrefixedXXX, fixed keeper.initGenesis
piux2 Feb 6, 2025
8f93911
updated prefix setters
piux2 Feb 7, 2025
304d56a
refactor SDKParam
piux2 Feb 8, 2025
7c111e8
more tests and clean up
piux2 Feb 10, 2025
6bc4602
merged master to this branch
piux2 Feb 10, 2025
1f6ce70
lint
piux2 Feb 10, 2025
d7aaf22
fix test
piux2 Feb 10, 2025
5f67b6d
fixed merge
piux2 Feb 10, 2025
5812fcc
merged the lastest master
piux2 Feb 10, 2025
d282741
fix tests
piux2 Feb 10, 2025
0459dd8
Merge remote-tracking branch 'origin/master' into feat_lock_transfer
piux2 Feb 10, 2025
ab4a676
remove iavl/testdata
piux2 Feb 10, 2025
6c9da8b
Merge branch 'master' into feat_lock_transfer
moul Feb 11, 2025
fb627fa
updated prefix, validation and tests
piux2 Feb 13, 2025
76fb5ee
merge the Master in this branch
piux2 Feb 13, 2025
cf36f63
Merge branch 'feat_lock_transfer' of https://github.com/piux2/gno int…
piux2 Feb 13, 2025
3002f65
fix test
piux2 Feb 13, 2025
cf9fe49
fix the test
piux2 Feb 14, 2025
bfe737f
lint
piux2 Feb 14, 2025
d98a5d2
fix test
piux2 Feb 14, 2025
8f6b1a8
more testing coverage
piux2 Feb 14, 2025
1c653cc
fix
piux2 Feb 14, 2025
b3ee19f
Merge remote-tracking branch 'origin/master' into feat_lock_transfer
piux2 Feb 14, 2025
3fd67eb
Minor fixes and code cleanup.
piux2 Feb 17, 2025
8c598e2
fix lower case const
piux2 Feb 17, 2025
1c84000
Merge remote-tracking branch 'origin/master' into feat_lock_transfer
piux2 Feb 18, 2025
9889ece
updated the CI workflows go version to 1.23.xx
piux2 Feb 18, 2025
98af87b
Merge branch 'master' into feat_lock_transfer
thehowl Feb 18, 2025
02d1a61
more tests and clean up
piux2 Feb 20, 2025
d3a24d9
merged master in this branch
piux2 Feb 20, 2025
1edd921
Merge branch 'feat_lock_transfer' of https://github.com/piux2/gno int…
piux2 Feb 20, 2025
228a273
fix test
piux2 Feb 20, 2025
3ceaadf
fix test
piux2 Feb 20, 2025
12b6f19
fix test
piux2 Feb 20, 2025
6e07d28
remove account.IsRestrict() and use account.IsUnrestricted() instead
piux2 Feb 20, 2025
a1e2517
fix test
piux2 Feb 24, 2025
250df38
address comments
piux2 Feb 24, 2025
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
2 changes: 2 additions & 0 deletions contribs/gnodev/pkg/dev/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ func NewDevNode(ctx context.Context, cfg *NodeConfig) (*Node, error) {
initialState: cfg.InitialTxs,
currentStateIndex: len(cfg.InitialTxs),
}

// generate genesis state
genesis := gnoland.DefaultGenState()
genesis.Balances = cfg.BalancesList
genesis.Txs = append(pkgsTxs, cfg.InitialTxs...)
Expand Down
1 change: 0 additions & 1 deletion contribs/gnodev/pkg/dev/node_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ func (n *Node) ExportStateAsGenesis(ctx context.Context) (*bft.GenesisDoc, error

// Get current blockstore state
doc := *n.Node.GenesisDoc() // copy doc

genState := doc.AppState.(gnoland.GnoGenesisState)
genState.Balances = n.config.BalancesList
genState.Txs = state
Expand Down
132 changes: 0 additions & 132 deletions examples/gno.land/r/gov/dao/v2/prop4_filetest.gno

This file was deleted.

2 changes: 1 addition & 1 deletion examples/gno.land/r/nemanya/config/gno.mod
Original file line number Diff line number Diff line change
@@ -1 +1 @@
module gno.land/r/nemanya/config
module gno.land/r/nemanya/config
2 changes: 1 addition & 1 deletion examples/gno.land/r/nemanya/home/gno.mod
Original file line number Diff line number Diff line change
@@ -1 +1 @@
module gno.land/r/nemanya/home
module gno.land/r/nemanya/home
28 changes: 14 additions & 14 deletions examples/gno.land/r/nemanya/home/home.gno
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ type Project struct {
}

var (
textArt string
aboutMe string
sponsorInfo string
socialLinks map[string]SocialLink
gnoProjects map[string]Project
otherProjects map[string]Project
textArt string
aboutMe string
sponsorInfo string
socialLinks map[string]SocialLink
gnoProjects map[string]Project
otherProjects map[string]Project
totalDonations std.Coins
)

Expand Down Expand Up @@ -266,15 +266,15 @@ func Withdraw() string {
panic(config.ErrUnauthorized)
}

banker := std.GetBanker(std.BankerTypeRealmSend)
realmAddress := std.GetOrigPkgAddr()
coins := banker.GetCoins(realmAddress)
banker := std.GetBanker(std.BankerTypeRealmSend)
realmAddress := std.GetOrigPkgAddr()
coins := banker.GetCoins(realmAddress)

if len(coins) == 0 {
return "No coins available to withdraw"
}
if len(coins) == 0 {
return "No coins available to withdraw"
}

banker.SendCoins(realmAddress, config.Address(), coins)
banker.SendCoins(realmAddress, config.Address(), coins)

return "Successfully withdrew all coins to config address"
return "Successfully withdrew all coins to config address"
}
54 changes: 0 additions & 54 deletions examples/gno.land/r/sys/params/params.gno

This file was deleted.

15 changes: 0 additions & 15 deletions examples/gno.land/r/sys/params/params_test.gno

This file was deleted.

42 changes: 42 additions & 0 deletions examples/gno.land/r/sys/params/unlock.gno
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package params

import (
"std"

"gno.land/p/demo/dao"
"gno.land/r/gov/dao/bridge"
)

const (
lockSendKey = "lockSend.bool"
UnlockSendTitle = "Proposal to unlock the sending functionality for ugnot."
LockSendTitle = "Proposal to lock the sending functionality for ugnot."
)

func ProposeUnlockSend() uint64 {
callback := func() error {
std.SetParamBool(lockSendKey, false)
return nil
}
return propose(callback, UnlockSendTitle, "")
}

func ProposeLockSend() uint64 {
callback := func() error {
std.SetParamBool(lockSendKey, true)
return nil
}
return propose(callback, LockSendTitle, "")
}

func propose(callback func() error, title, desc string) uint64 {
// The callback function is executed only after the proposal is voted on
// and approved by the GovDAO.
exe := bridge.GovDAO().NewGovDAOExecutor(callback)
prop := dao.ProposalRequest{
Title: title,
Description: desc,
Executor: exe,
}
return bridge.GovDAO().Propose(prop)
}
49 changes: 49 additions & 0 deletions examples/gno.land/r/sys/params/unlock_test.gno
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package params

import (
"testing"

"gno.land/p/demo/dao"
"gno.land/p/demo/simpledao"
"gno.land/p/demo/urequire"
"gno.land/r/gov/dao/bridge"
)

func TestProUnlockSend(t *testing.T) {
govdao := bridge.GovDAO()
id := ProposeUnlockSend()
p, err := govdao.GetPropStore().ProposalByID(id)
urequire.NoError(t, err)
urequire.Equal(t, UnlockSendTitle, p.Title())
}

func TestFailUnlockSend(t *testing.T) {
govdao := bridge.GovDAO()
id := ProposeUnlockSend()
urequire.PanicsWithMessage(
t,
simpledao.ErrProposalNotAccepted.Error(),
func() {
govdao.ExecuteProposal(id)
},
)
}

func TestExeUnlockSend(t *testing.T) {
govdao := bridge.GovDAO()
id := ProposeUnlockSend()
p, err := govdao.GetPropStore().ProposalByID(id)
urequire.NoError(t, err)
urequire.True(t, dao.Active == p.Status())

govdao.VoteOnProposal(id, dao.YesVote)
urequire.True(t, dao.Accepted == p.Status())
urequire.NotPanics(
t,
func() {
govdao.ExecuteProposal(id)
},
)

urequire.True(t, dao.ExecutionSuccessful == p.Status())
}
Loading
Loading