Compare commits
4 Commits
e2d5546de1
...
e8978413a5
Author | SHA1 | Date | |
---|---|---|---|
e8978413a5 | |||
566503956d | |||
c5dbe966c4 | |||
1221372424 |
2
go.mod
2
go.mod
@ -10,7 +10,7 @@ require (
|
||||
git.grassecon.net/grassrootseconomics/visedriver-africastalking v0.0.0-20250129070628-5a539172c694
|
||||
github.com/alecthomas/assert/v2 v2.2.2
|
||||
github.com/gofrs/uuid v4.4.0+incompatible
|
||||
github.com/grassrootseconomics/ussd-data-service v1.2.0-beta
|
||||
github.com/grassrootseconomics/ussd-data-service v1.4.0-beta
|
||||
github.com/jackc/pgx/v5 v5.7.1
|
||||
github.com/peteole/testdata-loader v0.3.0
|
||||
github.com/stretchr/testify v1.9.0
|
||||
|
2
go.sum
2
go.sum
@ -27,6 +27,8 @@ github.com/grassrootseconomics/eth-custodial v1.3.0-beta h1:twrMBhl89GqDUL9PlkzQ
|
||||
github.com/grassrootseconomics/eth-custodial v1.3.0-beta/go.mod h1:7uhRcdnJplX4t6GKCEFkbeDhhjlcaGJeJqevbcvGLZo=
|
||||
github.com/grassrootseconomics/ussd-data-service v1.2.0-beta h1:fn1gwbWIwHVEBtUC2zi5OqTlfI/5gU1SMk0fgGixIXk=
|
||||
github.com/grassrootseconomics/ussd-data-service v1.2.0-beta/go.mod h1:omfI0QtUwIdpu9gMcUqLMCG8O1XWjqJGBx1qUMiGWC0=
|
||||
github.com/grassrootseconomics/ussd-data-service v1.4.0-beta h1:4fMd/3h2ZIhRg4GdHQmRw5FfD3MpJvFNNJQo+Q27f5M=
|
||||
github.com/grassrootseconomics/ussd-data-service v1.4.0-beta/go.mod h1:9sGnorpKaK76FmOGXoh/xv7x5siSFNYdXxQo9BKW4DI=
|
||||
github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4 h1:U4kkNYryi/qfbBF8gh7Vsbuz+cVmhf5kt6pE9bYYyLo=
|
||||
github.com/graygnuorg/go-gdbm v0.0.0-20220711140707-71387d66dce4/go.mod h1:zpZDgZFzeq9s0MIeB1P50NIEWDFFHSFBohI/NbaTD/Y=
|
||||
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
|
||||
|
@ -124,6 +124,9 @@ func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService)
|
||||
ls.DbRs.AddLocalFunc("set_back", appHandlers.SetBack)
|
||||
ls.DbRs.AddLocalFunc("show_blocked_account", appHandlers.ShowBlockedAccount)
|
||||
ls.DbRs.AddLocalFunc("clear_temporary_value", appHandlers.ClearTemporaryValue)
|
||||
ls.DbRs.AddLocalFunc("get_pools", appHandlers.GetPools)
|
||||
ls.DbRs.AddLocalFunc("swap_from_list", appHandlers.LoadSwapFromList)
|
||||
ls.DbRs.AddLocalFunc("swap_to_list", appHandlers.LoadSwapToList)
|
||||
ls.first = appHandlers.Init
|
||||
|
||||
return appHandlers, nil
|
||||
|
@ -9,13 +9,15 @@ RELOAD check_balance
|
||||
CATCH api_failure flag_api_call_error 1
|
||||
MAP check_balance
|
||||
MOUT send 1
|
||||
MOUT vouchers 2
|
||||
MOUT swap 2
|
||||
MOUT vouchers 3
|
||||
MOUT account 3
|
||||
MOUT help 4
|
||||
MOUT quit 9
|
||||
HALT
|
||||
INCMP send 1
|
||||
INCMP my_vouchers 2
|
||||
INCMP pool_swap 2
|
||||
INCMP my_vouchers 3
|
||||
INCMP my_account 3
|
||||
INCMP help 4
|
||||
INCMP quit 9
|
||||
|
2
services/registration/pool_swap
Normal file
2
services/registration/pool_swap
Normal file
@ -0,0 +1,2 @@
|
||||
Enter number or pool symbol to swap from:
|
||||
{{.get_pools}}
|
8
services/registration/pool_swap.vis
Normal file
8
services/registration/pool_swap.vis
Normal file
@ -0,0 +1,8 @@
|
||||
LOAD get_pools 100
|
||||
MAP get_pools
|
||||
MOUT back 0
|
||||
MOUT quit 99
|
||||
HALT
|
||||
INCMP _ 0
|
||||
INCMP quit 99
|
||||
INCMP swap_from_list *
|
2
services/registration/pool_swap_swa
Normal file
2
services/registration/pool_swap_swa
Normal file
@ -0,0 +1,2 @@
|
||||
Chagua bwawa la sarafu la kubadilishana:
|
||||
{{.get_pools}}
|
@ -29,4 +29,4 @@ flag,flag_location_set,35,this is set when the location of the profile is set
|
||||
flag,flag_offerings_set,36,this is set when the offerings of the profile is set
|
||||
flag,flag_back_set,37,this is set when it is a back navigation
|
||||
flag,flag_account_blocked,38,this is set when an account has been blocked after the allowed incorrect PIN attempts have been exceeded
|
||||
|
||||
flag,flag_incorrect_pool,39,this is set when the user selects an invalid pool
|
||||
|
|
2
services/registration/swap_from_list
Normal file
2
services/registration/swap_from_list
Normal file
@ -0,0 +1,2 @@
|
||||
Select number or symbol to swap FROM:
|
||||
{{.swap_from_list}}
|
7
services/registration/swap_from_list.vis
Normal file
7
services/registration/swap_from_list.vis
Normal file
@ -0,0 +1,7 @@
|
||||
LOAD swap_from_list 0
|
||||
CATCH _ flag_incorrect_pool 1
|
||||
MAP swap_from_list
|
||||
MOUT back 0
|
||||
HALT
|
||||
INCMP _ 0
|
||||
INCMP swap_to_list *
|
2
services/registration/swap_from_list_swa
Normal file
2
services/registration/swap_from_list_swa
Normal file
@ -0,0 +1,2 @@
|
||||
Chagua nambari au ishara ya sarafu kubadilisha KUTOKA:
|
||||
{{.swap_from_list}}
|
2
services/registration/swap_to_list
Normal file
2
services/registration/swap_to_list
Normal file
@ -0,0 +1,2 @@
|
||||
Select number or symbol to swap TO:
|
||||
{{.swap_to_list}}
|
7
services/registration/swap_to_list.vis
Normal file
7
services/registration/swap_to_list.vis
Normal file
@ -0,0 +1,7 @@
|
||||
LOAD swap_to_list 0
|
||||
CATCH _ flag_incorrect_voucher 1
|
||||
MAP swap_to_list
|
||||
MOUT back 0
|
||||
HALT
|
||||
INCMP _ 0
|
||||
INCMP swap_limit *
|
2
services/registration/swap_to_list_swa
Normal file
2
services/registration/swap_to_list_swa
Normal file
@ -0,0 +1,2 @@
|
||||
Chagua nambari au ishara ya sarafu kubadilisha KWENDA:
|
||||
{{.swap_to_list}}
|
@ -101,6 +101,15 @@ const (
|
||||
DATA_TRANSACTIONS = 1024 + iota
|
||||
)
|
||||
|
||||
const (
|
||||
// List of voucher symbols in the top pools context.
|
||||
DATA_POOL_NAMES = 2048 + iota
|
||||
// List of symbols in the top pools context.
|
||||
DATA_POOL_SYMBOLS
|
||||
// List of contact addresses in the top pools context
|
||||
DATA_POOL_ADDRESSES
|
||||
)
|
||||
|
||||
var (
|
||||
logg = logging.NewVanilla().WithDomain("urdt-common")
|
||||
)
|
||||
|
33
store/pools.go
Normal file
33
store/pools.go
Normal file
@ -0,0 +1,33 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
dataserviceapi "github.com/grassrootseconomics/ussd-data-service/pkg/api"
|
||||
)
|
||||
|
||||
// PoolsMetadata helps organize data fields
|
||||
type PoolsMetadata struct {
|
||||
PoolNames string
|
||||
PoolSymbols string
|
||||
PoolContractAdrresses string
|
||||
}
|
||||
|
||||
// ProcessPools converts pools into formatted strings
|
||||
func ProcessPools(pools []dataserviceapi.PoolDetails) PoolsMetadata {
|
||||
var data PoolsMetadata
|
||||
var poolNames, poolSymbols, poolContractAdrresses []string
|
||||
|
||||
for i, p := range pools {
|
||||
poolNames = append(poolNames, fmt.Sprintf("%d:%s", i+1, p.PoolName))
|
||||
poolSymbols = append(poolSymbols, fmt.Sprintf("%d:%s", i+1, p.PoolSymbol))
|
||||
poolContractAdrresses = append(poolContractAdrresses, fmt.Sprintf("%d:%s", i+1, p.PoolContractAdrress))
|
||||
}
|
||||
|
||||
data.PoolNames = strings.Join(poolNames, "\n")
|
||||
data.PoolSymbols = strings.Join(poolSymbols, "\n")
|
||||
data.PoolContractAdrresses = strings.Join(poolContractAdrresses, "\n")
|
||||
|
||||
return data
|
||||
}
|
Loading…
Reference in New Issue
Block a user