Skip to content

Commit

Permalink
Merge branch 'main' into refactor/sqrt_price_math
Browse files Browse the repository at this point in the history
  • Loading branch information
onlyhyde authored Dec 15, 2024
2 parents 19eb3be + 24e76e2 commit 8997650
Show file tree
Hide file tree
Showing 53 changed files with 2,943 additions and 1,306 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/tlin_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: tlin-check

on:
pull_request:
branches:
- main

jobs:
tlin-check:
strategy:
fail-fast: false

runs-on: ubuntu-latest

steps:
- name: checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}

- name: checkout tlin
uses: actions/checkout@v4
with:
repository: gnoverse/tlin
ref: main
path: ./tlin

- name: setup go
uses: actions/setup-go@v5
with:
go-version: 1.22

- name: changed files
id: changed_files
uses: tj-actions/changed-files@v45
with:
files: |
*.gno
**.gno
- name: install tlin
run: |
cd tlin
go install ./cmd/tlin
- name: tlin check
run: |
for file in ${{ steps.changed_files.outputs.all_changed_files }}; do
echo "checking ${file} ..."
tlin ${file}
done
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -348,4 +348,7 @@ pyrightconfig.json
.history
.ionide

# End of https://www.toptal.com/developers/gitignore/api/macos,go,goland+all,visualstudiocode,dotenv,python,jupyternotebooks
# End of https://www.toptal.com/developers/gitignore/api/macos,go,goland+all,visualstudiocode,dotenv,python,jupyternotebooks

.scannerwork

53 changes: 53 additions & 0 deletions __local/grc20_tokens/grc20reg/approve_transferfrom.txtar
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
loadpkg gno.land/p/demo/users

loadpkg gno.land/r/demo/foo20
loadpkg gno.land/r/demo/grc20reg

loadpkg gno.land/r/demo/reg $WORK/reg

## start a new node
gnoland start

## faucet
# gnokey maketx call -pkgpath gno.land/r/demo/foo20 -func Faucet -gas-fee 1ugnot -gas-wanted 4000000 -broadcast -chainid=tendermint_test test1

## print reg addr
gnokey maketx call -pkgpath gno.land/r/demo/reg -func RelamAddr -gas-fee 1ugnot -gas-wanted 4000000 -broadcast -chainid=tendermint_test test1
stdout 'g19tlskvga928es8ug2empargp0teul03apzjud9'

## approve
gnokey maketx call -pkgpath gno.land/r/demo/foo20 -func Approve -args 'g19tlskvga928es8ug2empargp0teul03apzjud9' -args '100' -gas-fee 1ugnot -gas-wanted 4000000 -broadcast -chainid=tendermint_test test1

## transfer from
gnokey maketx call -pkgpath gno.land/r/demo/reg -func TransferFromWithReg -gas-fee 1ugnot -gas-wanted 4000000 -broadcast -chainid=tendermint_test test1
stdout ''

-- reg/reg.gno --
package reg

import (
"std"

"gno.land/r/demo/grc20reg"
)

func RelamAddr() string {
addr := std.CurrentRealm().Addr().String()
return addr
}

func TransferFromWithReg() {
caller := std.PrevRealm().Addr()
curr := std.CurrentRealm().Addr()


// using import
// foo20.TransferFrom(uCaller, uCurr, uint64(100))

// using grc20reg
fooTokenGetter := grc20reg.Get("gno.land/r/demo/foo20")
fooToken := fooTokenGetter()
userTeller := fooToken.CallerTeller()

userTeller.TransferFrom(caller, curr, uint64(100))
}
36 changes: 20 additions & 16 deletions __local/grc20_tokens/onbloc/bar/bar.gno
Original file line number Diff line number Diff line change
Expand Up @@ -7,54 +7,58 @@ import (
"gno.land/p/demo/ownable"
"gno.land/p/demo/ufmt"
pusers "gno.land/p/demo/users"

"gno.land/r/demo/grc20reg"
"gno.land/r/demo/users"
)

var (
admin *ownable.Ownable
token *grc20.Token
ledger *grc20.PrivateLedger
Token, privateLedger = grc20.NewToken("Bar", "BAR", 6)
UserTeller = Token.CallerTeller()
owner = ownable.NewWithAddress("g17290cwvmrapvp869xfnhhawa8sm9edpufzat7d") // ADMIN
)

func init() {
admin = ownable.NewWithAddress("g17290cwvmrapvp869xfnhhawa8sm9edpufzat7d") // ADMIN
token, ledger = grc20.NewToken("Bar", "BAR", 6)
ledger.Mint(admin.Owner(), 100_000_000_000_000)
privateLedger.Mint(owner.Owner(), 100_000_000_000_000)
getter := func() *grc20.Token { return Token }
grc20reg.Register(getter, "")
}

func TotalSupply() uint64 { return token.TotalSupply() }
func TotalSupply() uint64 {
return UserTeller.TotalSupply()
}

func BalanceOf(owner pusers.AddressOrName) uint64 {
ownerAddr := users.Resolve(owner)
return token.BalanceOf(ownerAddr)
return UserTeller.BalanceOf(ownerAddr)
}

func Allowance(owner, spender pusers.AddressOrName) uint64 {
ownerAddr := users.Resolve(owner)
spenderAddr := users.Resolve(spender)
return token.Allowance(ownerAddr, spenderAddr)
return UserTeller.Allowance(ownerAddr, spenderAddr)
}

func Transfer(to pusers.AddressOrName, amount uint64) {
toAddr := users.Resolve(to)
checkErr(token.CallerTeller().Transfer(toAddr, amount))
checkErr(UserTeller.Transfer(toAddr, amount))
}

func Approve(spender pusers.AddressOrName, amount uint64) {
spenderAddr := users.Resolve(spender)
checkErr(token.CallerTeller().Approve(spenderAddr, amount))
checkErr(UserTeller.Approve(spenderAddr, amount))
}

func TransferFrom(from, to pusers.AddressOrName, amount uint64) {
fromAddr := users.Resolve(from)
toAddr := users.Resolve(to)
checkErr(token.CallerTeller().TransferFrom(fromAddr, toAddr, amount))
checkErr(UserTeller.TransferFrom(fromAddr, toAddr, amount))
}

func Burn(from pusers.AddressOrName, amount uint64) {
admin.AssertCallerIsOwner()
owner.AssertCallerIsOwner()
fromAddr := users.Resolve(from)
checkErr(ledger.Burn(fromAddr, amount))
checkErr(privateLedger.Burn(fromAddr, amount))
}

func Render(path string) string {
Expand All @@ -63,11 +67,11 @@ func Render(path string) string {

switch {
case path == "":
return token.RenderHome()
return Token.RenderHome()
case c == 2 && parts[0] == "balance":
owner := pusers.AddressOrName(parts[1])
ownerAddr := users.Resolve(owner)
balance := token.BalanceOf(ownerAddr)
balance := UserTeller.BalanceOf(ownerAddr)
return ufmt.Sprintf("%d\n", balance)
default:
return "404\n"
Expand Down
1 change: 1 addition & 0 deletions __local/grc20_tokens/onbloc/bar/gno.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ require (
gno.land/p/demo/ufmt v0.0.0-latest
gno.land/p/demo/users v0.0.0-latest
gno.land/r/demo/users v0.0.0-latest
gno.land/r/demo/grc20reg v0.0.0-latest
)
36 changes: 20 additions & 16 deletions __local/grc20_tokens/onbloc/baz/baz.gno
Original file line number Diff line number Diff line change
Expand Up @@ -7,54 +7,58 @@ import (
"gno.land/p/demo/ownable"
"gno.land/p/demo/ufmt"
pusers "gno.land/p/demo/users"

"gno.land/r/demo/grc20reg"
"gno.land/r/demo/users"
)

var (
admin *ownable.Ownable
token *grc20.Token
ledger *grc20.PrivateLedger
Token, privateLedger = grc20.NewToken("Baz", "BAZ", 6)
UserTeller = Token.CallerTeller()
owner = ownable.NewWithAddress("g17290cwvmrapvp869xfnhhawa8sm9edpufzat7d") // ADMIN
)

func init() {
admin = ownable.NewWithAddress("g17290cwvmrapvp869xfnhhawa8sm9edpufzat7d") // ADMIN
token, ledger = grc20.NewToken("Baz", "BAZ", 6)
ledger.Mint(admin.Owner(), 100_000_000_000_000)
privateLedger.Mint(owner.Owner(), 100_000_000_000_000)
getter := func() *grc20.Token { return Token }
grc20reg.Register(getter, "")
}

func TotalSupply() uint64 { return token.TotalSupply() }
func TotalSupply() uint64 {
return UserTeller.TotalSupply()
}

func BalanceOf(owner pusers.AddressOrName) uint64 {
ownerAddr := users.Resolve(owner)
return token.BalanceOf(ownerAddr)
return UserTeller.BalanceOf(ownerAddr)
}

func Allowance(owner, spender pusers.AddressOrName) uint64 {
ownerAddr := users.Resolve(owner)
spenderAddr := users.Resolve(spender)
return token.Allowance(ownerAddr, spenderAddr)
return UserTeller.Allowance(ownerAddr, spenderAddr)
}

func Transfer(to pusers.AddressOrName, amount uint64) {
toAddr := users.Resolve(to)
checkErr(token.CallerTeller().Transfer(toAddr, amount))
checkErr(UserTeller.Transfer(toAddr, amount))
}

func Approve(spender pusers.AddressOrName, amount uint64) {
spenderAddr := users.Resolve(spender)
checkErr(token.CallerTeller().Approve(spenderAddr, amount))
checkErr(UserTeller.Approve(spenderAddr, amount))
}

func TransferFrom(from, to pusers.AddressOrName, amount uint64) {
fromAddr := users.Resolve(from)
toAddr := users.Resolve(to)
checkErr(token.CallerTeller().TransferFrom(fromAddr, toAddr, amount))
checkErr(UserTeller.TransferFrom(fromAddr, toAddr, amount))
}

func Burn(from pusers.AddressOrName, amount uint64) {
admin.AssertCallerIsOwner()
owner.AssertCallerIsOwner()
fromAddr := users.Resolve(from)
checkErr(ledger.Burn(fromAddr, amount))
checkErr(privateLedger.Burn(fromAddr, amount))
}

func Render(path string) string {
Expand All @@ -63,11 +67,11 @@ func Render(path string) string {

switch {
case path == "":
return token.RenderHome()
return Token.RenderHome()
case c == 2 && parts[0] == "balance":
owner := pusers.AddressOrName(parts[1])
ownerAddr := users.Resolve(owner)
balance := token.BalanceOf(ownerAddr)
balance := UserTeller.BalanceOf(ownerAddr)
return ufmt.Sprintf("%d\n", balance)
default:
return "404\n"
Expand Down
1 change: 1 addition & 0 deletions __local/grc20_tokens/onbloc/baz/gno.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ require (
gno.land/p/demo/ufmt v0.0.0-latest
gno.land/p/demo/users v0.0.0-latest
gno.land/r/demo/users v0.0.0-latest
gno.land/r/demo/grc20reg v0.0.0-latest
)
36 changes: 20 additions & 16 deletions __local/grc20_tokens/onbloc/foo/foo.gno
Original file line number Diff line number Diff line change
Expand Up @@ -7,54 +7,58 @@ import (
"gno.land/p/demo/ownable"
"gno.land/p/demo/ufmt"
pusers "gno.land/p/demo/users"

"gno.land/r/demo/grc20reg"
"gno.land/r/demo/users"
)

var (
admin *ownable.Ownable
token *grc20.Token
ledger *grc20.PrivateLedger
Token, privateLedger = grc20.NewToken("Baz", "BAZ", 6)
UserTeller = Token.CallerTeller()
owner = ownable.NewWithAddress("g17290cwvmrapvp869xfnhhawa8sm9edpufzat7d") // ADMIN
)

func init() {
admin = ownable.NewWithAddress("g17290cwvmrapvp869xfnhhawa8sm9edpufzat7d") // ADMIN
token, ledger = grc20.NewToken("Foo", "FOO", 6)
ledger.Mint(admin.Owner(), 100_000_000_000_000)
privateLedger.Mint(owner.Owner(), 100_000_000_000_000)
getter := func() *grc20.Token { return Token }
grc20reg.Register(getter, "")
}

func TotalSupply() uint64 { return token.TotalSupply() }
func TotalSupply() uint64 {
return UserTeller.TotalSupply()
}

func BalanceOf(owner pusers.AddressOrName) uint64 {
ownerAddr := users.Resolve(owner)
return token.BalanceOf(ownerAddr)
return UserTeller.BalanceOf(ownerAddr)
}

func Allowance(owner, spender pusers.AddressOrName) uint64 {
ownerAddr := users.Resolve(owner)
spenderAddr := users.Resolve(spender)
return token.Allowance(ownerAddr, spenderAddr)
return UserTeller.Allowance(ownerAddr, spenderAddr)
}

func Transfer(to pusers.AddressOrName, amount uint64) {
toAddr := users.Resolve(to)
checkErr(token.CallerTeller().Transfer(toAddr, amount))
checkErr(UserTeller.Transfer(toAddr, amount))
}

func Approve(spender pusers.AddressOrName, amount uint64) {
spenderAddr := users.Resolve(spender)
checkErr(token.CallerTeller().Approve(spenderAddr, amount))
checkErr(UserTeller.Approve(spenderAddr, amount))
}

func TransferFrom(from, to pusers.AddressOrName, amount uint64) {
fromAddr := users.Resolve(from)
toAddr := users.Resolve(to)
checkErr(token.CallerTeller().TransferFrom(fromAddr, toAddr, amount))
checkErr(UserTeller.TransferFrom(fromAddr, toAddr, amount))
}

func Burn(from pusers.AddressOrName, amount uint64) {
admin.AssertCallerIsOwner()
owner.AssertCallerIsOwner()
fromAddr := users.Resolve(from)
checkErr(ledger.Burn(fromAddr, amount))
checkErr(privateLedger.Burn(fromAddr, amount))
}

func Render(path string) string {
Expand All @@ -63,11 +67,11 @@ func Render(path string) string {

switch {
case path == "":
return token.RenderHome()
return Token.RenderHome()
case c == 2 && parts[0] == "balance":
owner := pusers.AddressOrName(parts[1])
ownerAddr := users.Resolve(owner)
balance := token.BalanceOf(ownerAddr)
balance := UserTeller.BalanceOf(ownerAddr)
return ufmt.Sprintf("%d\n", balance)
default:
return "404\n"
Expand Down
1 change: 1 addition & 0 deletions __local/grc20_tokens/onbloc/foo/gno.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ require (
gno.land/p/demo/ufmt v0.0.0-latest
gno.land/p/demo/users v0.0.0-latest
gno.land/r/demo/users v0.0.0-latest
gno.land/r/demo/grc20reg v0.0.0-latest
)
Loading

0 comments on commit 8997650

Please sign in to comment.