Skip to content

Commit

Permalink
Merge branch 'master' of github.com:sw360cab/gno
Browse files Browse the repository at this point in the history
  • Loading branch information
sw360cab committed Oct 3, 2024
2 parents a0ef82b + a2b4d4b commit 466c595
Show file tree
Hide file tree
Showing 20 changed files with 2,337 additions and 51 deletions.
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
/examples/gno.land/p/demo/avl/ @jaekwon
/examples/gno.land/p/demo/bf/ @moul
/examples/gno.land/p/demo/blog/ @gnolang/devrels
/examples/gno.land/p/demo/boardsv2/ @ilgooz @jeronimoalbi @moul
/examples/gno.land/p/demo/cford32/ @thehowl
/examples/gno.land/p/demo/memeland/ @leohhhn
/examples/gno.land/p/demo/seqid/ @thehowl
Expand All @@ -36,6 +37,7 @@
/examples/gno.land/p/demo/ui/ @moul
/examples/gno.land/r/demo/ @gnolang/tech-staff @gnolang/devrels
/examples/gno.land/r/demo/art/ @moul
/examples/gno.land/r/demo/boardsv2/ @ilgooz @jeronimoalbi @moul
/examples/gno.land/r/demo/memeland/ @leohhhn
/examples/gno.land/r/demo/tamagotchi/ @moul
/examples/gno.land/r/demo/userbook/ @leohhhn
Expand Down
97 changes: 97 additions & 0 deletions .github/goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,21 @@ builds:
goarm:
- 6
- 7
- id: gnobro
dir: ./contribs/gnodev/cmd/gnobro
binary: gnobro
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
goarch:
- amd64
- arm64
- arm
goarm:
- 6
- 7

gomod:
proxy: true
Expand Down Expand Up @@ -489,6 +504,74 @@ dockers:
ids:
- gnofaucet

# gnobro
- use: buildx
dockerfile: Dockerfile.release
goos: linux
goarch: amd64
image_templates:
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-amd64"
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-amd64"
build_flag_templates:
- "--target=gnobro"
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}/gnobro"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
ids:
- gnobro
- use: buildx
dockerfile: Dockerfile.release
goos: linux
goarch: arm64
image_templates:
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-arm64v8"
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-arm64v8"
build_flag_templates:
- "--target=gnobro"
- "--platform=linux/arm64/v8"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}/gnobro"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
ids:
- gnobro
- use: buildx
dockerfile: Dockerfile.release
goos: linux
goarch: arm
goarm: 6
image_templates:
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-armv6"
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-armv6"
build_flag_templates:
- "--target=gnobro"
- "--platform=linux/arm/v6"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}/gnobro"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
ids:
- gnobro
- use: buildx
dockerfile: Dockerfile.release
goos: linux
goarch: arm
goarm: 7
image_templates:
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-armv7"
- "ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-armv7"
build_flag_templates:
- "--target=gnobro"
- "--platform=linux/arm/v7"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}/gnobro"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
ids:
- gnobro

docker_manifests:
# https://goreleaser.com/customization/docker_manifest/

Expand Down Expand Up @@ -562,6 +645,20 @@ docker_manifests:
- ghcr.io/gnolang/{{ .ProjectName }}/gnofaucet:{{ .Env.TAG_VERSION }}-armv6
- ghcr.io/gnolang/{{ .ProjectName }}/gnofaucet:{{ .Env.TAG_VERSION }}-armv7

# gnobro
- name_template: ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}
image_templates:
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-amd64
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-arm64v8
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-armv6
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Version }}-armv7
- name_template: ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}
image_templates:
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-amd64
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-arm64v8
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-armv6
- ghcr.io/gnolang/{{ .ProjectName }}/gnobro:{{ .Env.TAG_VERSION }}-armv7

docker_signs:
- cmd: cosign
env:
Expand Down
10 changes: 8 additions & 2 deletions Dockerfile.release
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,13 @@ EXPOSE 26656 26657

ENTRYPOINT [ "/usr/bin/gnoland" ]


#
## ghcr.io/gnolang/gno/gnokey
FROM base as gnokey

COPY ./gnokey /usr/bin/gnokey
ENTRYPOINT [ "/usr/bin/gnokey" ]


#
## ghcr.io/gnolang/gno/gnoweb
FROM base as gnoweb
Expand All @@ -43,6 +41,14 @@ COPY ./gnofaucet /usr/bin/gnofaucet
EXPOSE 5050
ENTRYPOINT [ "/usr/bin/gnofaucet" ]

#
## ghcr.io/gnolang/gno/gnobro
FROM base as gnobro

COPY ./gnobro /usr/bin/gnobro
EXPOSE 22
ENTRYPOINT [ "/usr/bin/gnobro" ]

#
## ghcr.io/gnolang/gno
FROM base as gno
Expand Down
8 changes: 3 additions & 5 deletions examples/gno.land/p/demo/grc/grc20/banker.gno
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func (b *Banker) Mint(address std.Address, amount uint64) error {
b.balances.Set(string(address), newBalance)

std.Emit(
TransferEvent,
MintEvent,
"from", "",
"to", string(address),
"value", strconv.Itoa(int(amount)),
Expand All @@ -90,7 +90,7 @@ func (b *Banker) Burn(address std.Address, amount uint64) error {
b.balances.Set(string(address), newBalance)

std.Emit(
TransferEvent,
BurnEvent,
"from", string(address),
"to", "",
"value", strconv.Itoa(int(amount)),
Expand Down Expand Up @@ -146,9 +146,6 @@ func (b *Banker) Transfer(from, to std.Address, amount uint64) error {
toBalance := b.BalanceOf(to)
fromBalance := b.BalanceOf(from)

// debug.
// println("from", from, "to", to, "amount", amount, "fromBalance", fromBalance, "toBalance", toBalance)

if fromBalance < amount {
return ErrInsufficientBalance
}
Expand All @@ -165,6 +162,7 @@ func (b *Banker) Transfer(from, to std.Address, amount uint64) error {
"to", to.String(),
"value", strconv.Itoa(int(amount)),
)

return nil
}

Expand Down
2 changes: 2 additions & 0 deletions examples/gno.land/p/demo/grc/grc20/types.gno
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ type Token interface {
}

const (
MintEvent = "Mint"
BurnEvent = "Burn"
TransferEvent = "Transfer"
ApprovalEvent = "Approval"
)
53 changes: 53 additions & 0 deletions examples/gno.land/p/demo/ufmt/ufmt.gno
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ func Println(args ...interface{}) {
// %d: formats an integer value using package "strconv".
// Currently supports only uint, uint64, int, int64.
// %t: formats a boolean value to "true" or "false".
// %x: formats an integer value as a hexadecimal string.
// Currently supports only uint8, []uint8, [32]uint8.
// %c: formats a rune value as a string.
// Currently supports only rune, int.
// %q: formats a string value as a quoted string.
// %T: formats the type of the value.
// %%: outputs a literal %. Does not consume an argument.
func Sprintf(format string, args ...interface{}) string {
// we use runes to handle multi-byte characters
Expand Down Expand Up @@ -158,6 +164,53 @@ func Sprintf(format string, args ...interface{}) string {
default:
buf += fallback(verb, v)
}
case "x":
switch v := arg.(type) {
case uint8:
buf += strconv.FormatUint(uint64(v), 16)
default:
buf += "(unhandled)"
}
case "q":
switch v := arg.(type) {
case string:
buf += strconv.Quote(v)
default:
buf += "(unhandled)"
}
case "T":
switch arg.(type) {
case bool:
buf += "bool"
case int:
buf += "int"
case int8:
buf += "int8"
case int16:
buf += "int16"
case int32:
buf += "int32"
case int64:
buf += "int64"
case uint:
buf += "uint"
case uint8:
buf += "uint8"
case uint16:
buf += "uint16"
case uint32:
buf += "uint32"
case uint64:
buf += "uint64"
case string:
buf += "string"
case []byte:
buf += "[]byte"
case []rune:
buf += "[]rune"
default:
buf += "unknown"
}
// % handled before, as it does not consume an argument
default:
buf += "(unhandled verb: %" + verb + ")"
Expand Down
12 changes: 12 additions & 0 deletions examples/gno.land/p/demo/ufmt/ufmt_test.gno
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,18 @@ func TestSprintf(t *testing.T) {
{"â", nil, "â"},
{"Hello, World! 😊", nil, "Hello, World! 😊"},
{"unicode formatting: %s", []interface{}{"😊"}, "unicode formatting: 😊"},
{"invalid hex [%x]", []interface{}{"invalid"}, "invalid hex [(unhandled)]"},
{"rune as character [%c]", []interface{}{rune('A')}, "rune as character [A]"},
{"int as character [%c]", []interface{}{int('B')}, "int as character [B]"},
{"quoted string [%q]", []interface{}{"hello"}, "quoted string [\"hello\"]"},
{"quoted string with escape [%q]", []interface{}{"\thello\nworld\\"}, "quoted string with escape [\"\\thello\\nworld\\\\\"]"},
{"invalid quoted string [%q]", []interface{}{123}, "invalid quoted string [(unhandled)]"},
{"type of bool [%T]", []interface{}{true}, "type of bool [bool]"},
{"type of int [%T]", []interface{}{123}, "type of int [int]"},
{"type of string [%T]", []interface{}{"hello"}, "type of string [string]"},
{"type of []byte [%T]", []interface{}{[]byte{1, 2, 3}}, "type of []byte [[]byte]"},
{"type of []rune [%T]", []interface{}{[]rune{'a', 'b', 'c'}}, "type of []rune [[]rune]"},
{"type of unknown [%T]", []interface{}{struct{}{}}, "type of unknown [unknown]"},
// mismatch printing
{"%s", []interface{}{nil}, "%!s(<nil>)"},
{"%s", []interface{}{421}, "%!s(int=421)"},
Expand Down
Loading

0 comments on commit 466c595

Please sign in to comment.