Skip to content

Commit

Permalink
Merge branch 'release/v0.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
AdamSLevy committed Apr 12, 2019
2 parents b16bab1 + 138dc5c commit b505259
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 20 deletions.
10 changes: 5 additions & 5 deletions Makefile
@@ -1,6 +1,6 @@
all: fatd fat-cli

race: fatd-race fat-cli-race
race: fatd.race fat-cli.race

distribution: fatd-distribution fat-cli-distribution

Expand All @@ -22,11 +22,11 @@ fat-cli: $(SRC)
fat-cli-distribution: $(SRC)
env GOOS=linux GOARCH=amd64 go build -ldflags=$(CLI_LDFLAGS) -o fat-cli ./cli && env GOOS=windows GOARCH=amd64 go build -ldflags=$(CLI_LDFLAGS) -o fat-cli.exe ./cli && env GOOS=darwin GOARCH=amd64 go build -ldflags=$(CLI_LDFLAGS) -o fat-cli.app ./cli

fatd-race: $(SRC)
go build -race -ldflags=$(FATD_LDFLAGS) ./
fatd.race: $(SRC)
go build -race -ldflags=$(FATD_LDFLAGS) -o ./fatd.race ./

fat-cli-race: $(SRC)
go build -race -ldflags=$(CLI_LDFLAGS) -o fat-cli ./cli
fat-cli.race: $(SRC)
go build -race -ldflags=$(CLI_LDFLAGS) -o fat-cli.race ./cli

.PHONY: clean purge-db unpurge-db

Expand Down
2 changes: 1 addition & 1 deletion README.md
@@ -1,6 +1,6 @@
![](https://png.icons8.com/ios-glyphs/200/5ECCDD/octahedron.png)![](https://png.icons8.com/color/64/3498db/golang.png)

# fatd - Factom Asset Token Daemon v0.1.2 - Alpha
# fatd - Factom Asset Token Daemon v0.2.0 - Alpha

A daemon written in Golang that maintains the current state of Factom Asset
Tokens (FAT) tokens. Includes a CLI for interacting with the FAT Daemon from
Expand Down
34 changes: 24 additions & 10 deletions cli/flag.go
Expand Up @@ -363,6 +363,12 @@ func Validate() error {
if len(SubCommand) == 0 {
return nil
}
// set scheme for APIAddress if not present
apiAdr := strings.Split(APIAddress, "://")
if len(apiAdr) == 1 {
// use http://
APIAddress = "http://" + APIAddress
}
// Redact private data from debug output.
factomdRPCPassword := "\"\""
if len(rpc.FactomdRPCPassword) > 0 {
Expand Down Expand Up @@ -634,26 +640,29 @@ func requireFlags(names ...string) error {
type AddressAmountMap fat0.AddressAmountMap

func (m AddressAmountMap) Set(data string) error {
s := strings.SplitN(data, ":", 2)
s := strings.Split(data, ":")
if len(s) != 2 {
return fmt.Errorf("invalid format")
}
adr := factom.RCDHash{}
var adr factom.Address
if s[0] == "coinbase" {
adr = *coinbase.RCDHash()
adr = coinbase
} else {
if err := adr.FromString(s[0]); err != nil {
return fmt.Errorf("invalid address: %v", err)
}
if *adr.RCDHash() != *coinbase.RCDHash() {
allAddresses = append(allAddresses, adr)
}
}
if _, ok := m[adr]; ok {
if _, ok := m[*adr.RCDHash()]; ok {
return fmt.Errorf("duplicate address: %v", adr)
}
var amount uint64
if err := (*Amount)(&amount).Set(s[1]); err != nil {
return err
}
m[adr] = amount
m[*adr.RCDHash()] = amount
return nil
}
func (m AddressAmountMap) String() string {
Expand All @@ -662,20 +671,25 @@ func (m AddressAmountMap) String() string {

type AddressNFTokensMap fat1.AddressNFTokensMap

var allAddresses []factom.Address

func (m AddressNFTokensMap) Set(data string) error {
s := strings.SplitN(data, ":", 2)
s := strings.Split(data, ":")
if len(s) != 2 {
return fmt.Errorf("invalid format")
}
adr := factom.RCDHash{}
var adr factom.Address
if s[0] == "coinbase" {
adr = *coinbase.RCDHash()
adr = coinbase
} else {
if err := adr.FromString(s[0]); err != nil {
return fmt.Errorf("invalid address: %v", err)
}
if *adr.RCDHash() != *coinbase.RCDHash() {
allAddresses = append(allAddresses, adr)
}
}
if _, ok := m[adr]; ok {
if _, ok := m[*adr.RCDHash()]; ok {
return fmt.Errorf("duplicate address: %v", adr)
}

Expand All @@ -684,7 +698,7 @@ func (m AddressNFTokensMap) Set(data string) error {
return err
}

m[adr] = tkns
m[*adr.RCDHash()] = tkns
return nil
}
func (m AddressNFTokensMap) String() string {
Expand Down
16 changes: 12 additions & 4 deletions cli/transact.go
Expand Up @@ -40,8 +40,12 @@ func transactFAT0() error {
}
signingAddresses = append(signingAddresses, sk1)
} else {
for rcd := range FAT0transaction.Inputs {
adr := factom.NewAddress(&rcd)
for i := range allAddresses {
adr := allAddresses[i]
if _, ok := FAT0transaction.Inputs[*adr.RCDHash()]; !ok {
continue
}
fmt.Println(adr)
if err := adr.Get(); err != nil {
return err
}
Expand Down Expand Up @@ -116,8 +120,12 @@ func transactFAT1() error {
}
signingAddresses = append(signingAddresses, sk1)
} else {
for rcd := range FAT1transaction.Inputs {
adr := factom.NewAddress(&rcd)
for i := range allAddresses {
adr := allAddresses[i]
if _, ok := FAT1transaction.Inputs[*adr.RCDHash()]; !ok {
continue
}
fmt.Println(adr)
if err := adr.Get(); err != nil {
return err
}
Expand Down
3 changes: 3 additions & 0 deletions factom/address.go
Expand Up @@ -36,6 +36,9 @@ func NewAddressFromString(adrStr string) (Address, error) {
}

func (a *Address) Get() error {
if a.privateKey != nil {
return nil
}
params := struct {
A *Address `json:"address"`
}{A: a}
Expand Down

0 comments on commit b505259

Please sign in to comment.