testnet
GitHub EN

설정 조회 함수

func BlockedAddresses() map[string]bool func GetMaccPerms() map[string][]string

마루의 핵심 보안 및 모듈 설정을 조회하는 유틸리티 함수입니다. BlockedAddresses는 자금을 수신할 수 없는 모든 시스템 예약 주소 집합을 반환하고, GetMaccPerms는 모든 모듈 계정에 대한 권한 매트릭스를 제공합니다. UI, 지갑, 체인 분석 도구를 구축하는 데 유용합니다.

파라미터

이 메서드는 파라미터가 없습니다.

반환값

타입: map[string]bool | map[string][]string

BlockedAddresses는 키가 Bech32 주소이고 값이 true인 맵을 반환합니다. GetMaccPerms는 키가 모듈 이름이고 값이 권한 슬라이스(예: minter, burner)인 맵을 반환합니다.

예제

전송 전 주소 차단 여부 확인

시스템 계정으로의 트랜잭션을 방지하기 위해 `BlockedAddresses`를 사용하는 간단한 유효성 검사 함수입니다.

import "github.com/delight-labs/maroo/config"

func isSendAllowed(recipient string) bool {
    blocked := config.BlockedAddresses()
    if _, isBlocked := blocked[recipient]; isBlocked {
        return false // Do not allow sending to this address
    }
    return true
}

모듈 계정 권한 목록 조회

이 예제는 `GetMaccPerms`가 반환한 맵을 순회하여 각 모듈 계정의 기능을 표시합니다.

import (
    "fmt"
    "github.com/delight-labs/maroo/config"
)

func printPermissions() {
    perms := config.GetMaccPerms()
    fmt.Println("Module Account Permissions:")
    for module, permissions := range perms {
        fmt.Printf("- %s: %v\n", module, permissions)
    }
}
ESC
검색어를 입력하세요