Skip to content
This repository has been archived by the owner on Nov 16, 2022. It is now read-only.

Commit

Permalink
Merge branch 'master' into patch-google-cloud-function
Browse files Browse the repository at this point in the history
  • Loading branch information
Benzbeeb authored Aug 21, 2020
2 parents aa17af6 + 3a976bf commit cfc1304
Show file tree
Hide file tree
Showing 39 changed files with 2,051 additions and 1,901 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG_UNRELEASED.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

### Chain (Non-consensus)

- (impv) [\#2387](https://github.com/bandprotocol/bandchain/pull/2387) Implementation of allow free report transaction.

### Yoda

- (feat) [\#2484](https://github.com/bandprotocol/bandchain/pull/2484) yoda/runtime: Add verification environment variables
Expand All @@ -28,7 +30,11 @@

### Scan

- (impv) [\#2513](https://github.com/bandprotocol/bandchain/pull/2513) Implemented reporters table
- (impv) [\#2511](https://github.com/bandprotocol/bandchain/pull/2511) Implemented report chart and oracle data reports tab
- (impv) [\#2508](https://github.com/bandprotocol/bandchain/pull/2508) Implemented Your delegation info
- (impv) [\#2503](https://github.com/bandprotocol/bandchain/pull/2503) Implemented Bonded Token Chart on Validator Index Page
- (impv) [\#2501](https://github.com/bandprotocol/bandchain/pull/2501) Implemented Request Index Page
- (impv) [\#2500](https://github.com/bandprotocol/bandchain/pull/2500) Implemented Delegators and ProposedBlock tabs
- (impv) [\#2497](https://github.com/bandprotocol/bandchain/pull/2497) Implemented validator index top part and uptimechart
- (impv) [\#2493](https://github.com/bandprotocol/bandchain/pull/2493) Implemented requests table for all requests page
Expand Down
9 changes: 7 additions & 2 deletions chain/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import (
dbm "github.com/tendermint/tm-db"

"github.com/bandprotocol/bandchain/chain/x/oracle"
bandante "github.com/bandprotocol/bandchain/chain/x/oracle/ante"
bandsupply "github.com/bandprotocol/bandchain/chain/x/supply"
)

Expand Down Expand Up @@ -135,7 +136,7 @@ func SetBech32AddressPrefixesAndBip44CoinType(config *sdk.Config) {
func NewBandApp(
logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool,
invCheckPeriod uint, skipUpgradeHeights map[int64]bool, home string,
baseAppOptions ...func(*bam.BaseApp),
disableFeelessReports bool, baseAppOptions ...func(*bam.BaseApp),
) *BandApp {
cdc := MakeCodec()
bApp := bam.NewBaseApp(AppName, logger, db, auth.DefaultTxDecoder(cdc), baseAppOptions...)
Expand Down Expand Up @@ -237,7 +238,11 @@ func NewBandApp(
// initialize BaseApp.
app.SetInitChainer(app.InitChainer)
app.SetBeginBlocker(app.BeginBlocker)
app.SetAnteHandler(ante.NewAnteHandler(app.AccountKeeper, app.SupplyKeeper, ante.DefaultSigVerificationGasConsumer))
anteHandler := ante.NewAnteHandler(app.AccountKeeper, app.SupplyKeeper, auth.DefaultSigVerificationGasConsumer)
if !disableFeelessReports {
anteHandler = bandante.NewFeelessReportsAnteHandler(anteHandler, app.OracleKeeper)
}
app.SetAnteHandler(anteHandler)
app.SetEndBlocker(app.EndBlocker)
if loadLatest {
err := app.LoadLatestVersion(app.keys[bam.MainStoreKey])
Expand Down
12 changes: 8 additions & 4 deletions chain/cmd/bandd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ import (
)

const (
flagInvCheckPeriod = "inv-check-period"
flagWithEmitter = "with-emitter"
flagInvCheckPeriod = "inv-check-period"
flagWithEmitter = "with-emitter"
flagDisableFeelessReports = "disable-feeless-reports"
)

var invCheckPeriod uint
Expand Down Expand Up @@ -60,6 +61,7 @@ func main() {
executor := cli.PrepareBaseCmd(rootCmd, "BAND", app.DefaultNodeHome)
rootCmd.PersistentFlags().UintVar(&invCheckPeriod, flagInvCheckPeriod, 0, "Assert registered invariants every N blocks")
rootCmd.PersistentFlags().String(flagWithEmitter, "", "[Experimental] Use Kafka emitter")
rootCmd.PersistentFlags().Bool(flagDisableFeelessReports, false, "[Experimental] Disable allowance of feeless reports")
err := executor.Execute()
if err != nil {
panic(err)
Expand All @@ -85,6 +87,7 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer) abci.Application
return emitter.NewBandAppWithEmitter(
viper.GetString(flagWithEmitter), logger, db, traceStore, true, invCheckPeriod,
skipUpgradeHeights, viper.GetString(flags.FlagHome),
viper.GetBool(flagDisableFeelessReports),
baseapp.SetPruning(pruningOpts),
baseapp.SetMinGasPrices(viper.GetString(server.FlagMinGasPrices)),
baseapp.SetHaltHeight(viper.GetUint64(server.FlagHaltHeight)),
Expand All @@ -95,6 +98,7 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer) abci.Application
return app.NewBandApp(
logger, db, traceStore, true, invCheckPeriod, skipUpgradeHeights,
viper.GetString(flags.FlagHome),
viper.GetBool(flagDisableFeelessReports),
baseapp.SetPruning(pruningOpts),
baseapp.SetMinGasPrices(viper.GetString(server.FlagMinGasPrices)),
baseapp.SetHaltHeight(viper.GetUint64(server.FlagHaltHeight)),
Expand All @@ -109,7 +113,7 @@ func exportAppStateAndTMValidators(
) (json.RawMessage, []tmtypes.GenesisValidator, error) {

if height != -1 {
bandApp := app.NewBandApp(logger, db, traceStore, false, uint(1), map[int64]bool{}, "")
bandApp := app.NewBandApp(logger, db, traceStore, false, uint(1), map[int64]bool{}, "", viper.GetBool(flagDisableFeelessReports))
err := bandApp.LoadHeight(height)
if err != nil {
return nil, nil, err
Expand All @@ -118,6 +122,6 @@ func exportAppStateAndTMValidators(
return bandApp.ExportAppStateAndValidators(forZeroHeight, jailWhiteList)
}

bandApp := app.NewBandApp(logger, db, traceStore, true, uint(1), map[int64]bool{}, "")
bandApp := app.NewBandApp(logger, db, traceStore, true, uint(1), map[int64]bool{}, "", viper.GetBool(flagDisableFeelessReports))
return bandApp.ExportAppStateAndValidators(forZeroHeight, jailWhiteList)
}
4 changes: 2 additions & 2 deletions chain/emitter/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ type App struct {
func NewBandAppWithEmitter(
kafkaURI string, logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool,
invCheckPeriod uint, skipUpgradeHeights map[int64]bool, home string,
baseAppOptions ...func(*bam.BaseApp),
disableFeelessReports bool, baseAppOptions ...func(*bam.BaseApp),
) *App {
app := bandapp.NewBandApp(
logger, db, traceStore, loadLatest, invCheckPeriod, skipUpgradeHeights,
home, baseAppOptions...,
home, disableFeelessReports, baseAppOptions...,
)
paths := strings.SplitN(kafkaURI, "@", 2)
return &App{
Expand Down
17 changes: 0 additions & 17 deletions chain/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -703,11 +703,8 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
github.com/segmentio/kafka-go v0.3.7 h1:UCFPJw6KoVkmrilA2LbWVuybJojHzj6gDDFdV7H7IBs=
github.com/segmentio/kafka-go v0.3.7/go.mod h1:8rEphJEczp+yDE/R5vwmaqZgF1wllrl4ioQcNKB8wVA=
github.com/segmentio/kafka-go v0.4.2 h1:QXZ6q9Bu1JkAJQ/CQBb2Av8pFRG8LQ0kWCrLXgQyL8c=
github.com/segmentio/kafka-go v0.4.2/go.mod h1:Inh7PqOsxmfgasV8InZYKVXWsdjcCq2d9tFV75GLbuM=
github.com/shirou/gopsutil v2.20.5+incompatible h1:tYH07UPoQt0OCQdgWWMgYHy3/a9bcxNpBIysykNIP7I=
github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
Expand Down Expand Up @@ -743,15 +740,12 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw=
github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM=
github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc=
github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q=
github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570 h1:gIlAHnH1vJb5vwEjIp5kBj/eu99p/bl0Ay2goiPe5xE=
github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw=
github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3 h1:njlZPzLwU639dk2kqnCPPv+wNjq7Xb6EfUxe/oX0/NM=
github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU=
github.com/steveyen/gtreap v0.1.0/go.mod h1:kl/5J7XbrOmlIbYIXdRHDDE5QxHqpk0cmkT7Z4dM9/Y=
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
Expand Down Expand Up @@ -785,9 +779,7 @@ github.com/tendermint/go-amino v0.15.1/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM
github.com/tendermint/iavl v0.14.0 h1:Jkff+IFrXxRWtH9Jn/ga/2cxNnzMTv58xEKgCJsKUBg=
github.com/tendermint/iavl v0.14.0/go.mod h1:QmfViflFiXzxKLQE4tAUuWQHq+RSuQFxablW5oJZ6sE=
github.com/tendermint/tendermint v0.33.5/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM=
github.com/tendermint/tendermint v0.33.6 h1:W4UOsXY4ROJZ3TLLGVVv71VXD4WK2gJRb3gzeced+mg=
github.com/tendermint/tendermint v0.33.6/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM=
github.com/tendermint/tendermint v0.33.7 h1:b5CQD8ggDtl4u0EbXzabi0MaOw9NrcXker6ijEkAE74=
github.com/tendermint/tendermint v0.33.7/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM=
github.com/tendermint/tendermint v0.33.8 h1:Xxu4QhpqcomSE0iQDw1MqLgfsa8fqtPtWFJK6zZOVso=
github.com/tendermint/tendermint v0.33.8/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM=
Expand Down Expand Up @@ -830,7 +822,6 @@ gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAo
gitlab.com/yawning/dynlib.git v0.0.0-20200603163025-35fe007b0761/go.mod h1:U41r+zgpFRTlkSzMhBjUqbupvVBafgokFFkKn0j+874=
gitlab.com/yawning/slice.git v0.0.0-20190714152416-bc4ae2510529/go.mod h1:sgaKGjNNjAAVrZvQQhE3oYIbnFZVaCBE2T7PmbpKJ4U=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.4 h1:hi1bXHMVrlQh6WwxAy+qZCV/SYIlqo+Ushwdpa4tAKg=
go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
Expand Down Expand Up @@ -873,11 +864,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20191119213627-4f8c1d86b1ba/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200406173513-056763e48d71 h1:DOmugCavvUtnUD114C1Wh+UgTgQZ4pMLzXxi1pSt+/Y=
golang.org/x/crypto v0.0.0-20200406173513-056763e48d71/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79 h1:IaQbIIB2X/Mp/DKctl6ROxz1KyMlKp4uyvL6+kQ7C88=
golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg=
golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
Expand Down Expand Up @@ -977,7 +965,6 @@ golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200722175500-76b94024e4b6 h1:X9xIZ1YU8bLZA3l6gqDUHSFiD0GFI9S548h6C8nDtOY=
golang.org/x/sys v0.0.0-20200722175500-76b94024e4b6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand Down Expand Up @@ -1029,7 +1016,6 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
Expand Down Expand Up @@ -1059,9 +1045,7 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.28.0 h1:bO/TA4OxCOummhSf10siHuG7vJOiwh7SpRpFZDkOgl4=
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.28.1 h1:C1QC6KzgSiLyBabDi87BbjaGreoRgGUF5nOyvfrAZ1k=
google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE=
Expand Down Expand Up @@ -1100,7 +1084,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
Expand Down
61 changes: 61 additions & 0 deletions chain/x/oracle/ante/ante.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package ante

import (
sdk "github.com/cosmos/cosmos-sdk/types"

"github.com/bandprotocol/bandchain/chain/x/oracle"
"github.com/bandprotocol/bandchain/chain/x/oracle/keeper"
)

func checkValidReportMsg(ctx sdk.Context, oracleKeeper oracle.Keeper, msg sdk.Msg) bool {
rep, ok := msg.(oracle.MsgReportData)
if !ok {
return false
}
if !oracleKeeper.IsReporter(ctx, rep.Validator, rep.Reporter) {
return false
}
if rep.RequestID <= oracleKeeper.GetRequestLastExpired(ctx) {
return false
}

req, err := oracleKeeper.GetRequest(ctx, rep.RequestID)
if err != nil {
return false
}
if !keeper.ContainsVal(req.RequestedValidators, rep.Validator) {
return false
}
if len(rep.RawReports) != len(req.RawRequests) {
return false
}
for _, report := range rep.RawReports {
if !keeper.ContainsEID(req.RawRequests, report.ExternalID) {
return false
}
}
return true
}

// NewFeelessReportsAnteHandler returns a new ante handler that waives minimum gas price requirement
// if the incoming tx is a valid report transaction.
func NewFeelessReportsAnteHandler(ante sdk.AnteHandler, oracleKeeper oracle.Keeper) sdk.AnteHandler {
return func(ctx sdk.Context, tx sdk.Tx, simulate bool) (newCtx sdk.Context, err error) {
if ctx.IsCheckTx() && !simulate {
isValidReportTx := true
for _, msg := range tx.GetMsgs() {
if !checkValidReportMsg(ctx, oracleKeeper, msg) {
isValidReportTx = false
break
}
}
if isValidReportTx {
minGas := ctx.MinGasPrices()
newCtx, err := ante(ctx.WithMinGasPrices(sdk.DecCoins{}), tx, simulate)
// Set minimum gas price context and return context to caller.
return newCtx.WithMinGasPrices(minGas), err
}
}
return ante(ctx, tx, simulate)
}
}
2 changes: 1 addition & 1 deletion chain/x/oracle/testapp/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ func NewSimApp(chainID string, logger log.Logger) *bandapp.BandApp {
}
viper.Set(cli.HomeFlag, dir)
db := dbm.NewMemDB()
app := bandapp.NewBandApp(logger, db, nil, true, 0, map[int64]bool{}, "")
app := bandapp.NewBandApp(logger, db, nil, true, 0, map[int64]bool{}, "", false)
genesis := bandapp.NewDefaultGenesisState()
// Fund seed accounts and validators with 1000000uband and 100000000uband initially.
authGenesis := auth.NewGenesisState(auth.DefaultParams(), []authexported.GenesisAccount{
Expand Down
2 changes: 1 addition & 1 deletion scan/src/App.re
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ let make = () => {
<div className=Styles.container>
<Header />
{Media.isMobile()
? <Section pt=16 pb=16 bg={currentRoute == HomePage ? Colors.highlightBg : Colors.bg}>
? <Section pt=16 pb=16 bg={currentRoute == HomePage ? Colors.highlightBg : Colors.white}>
<div className=CssHelper.container> <SearchBar /> </div>
</Section>
: React.null}
Expand Down
1 change: 1 addition & 0 deletions scan/src/Colors.re
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ let yellow7 = Css.hex("B87D14");
let yellow8 = Css.hex("8E5F0B");

let yellowAccent1 = Css.hex("FEF5CD");
let yellowAccent2 = Css.hex("F4D23E");
let yellowAccent7 = Css.hex("937906");

let orange1 = Css.hex("FFF1EB");
Expand Down
30 changes: 17 additions & 13 deletions scan/src/components/HistoricalBondedGraph.re
Original file line number Diff line number Diff line change
Expand Up @@ -155,20 +155,24 @@ let make = (~operatorAddress) => {

switch (dataSub) {
| Data(data) =>
let show = data->Belt.Array.size > 5;

<div className=Styles.container>
<canvas id="historicalBonded" className={Styles.chart(data->Belt.Array.size > 5)} />
<div className=Styles.emptyContainer>
<Icon name="fal fa-clock" size=40 color=Colors.bandBlue />
<VSpacing size={`px(16)} />
<Heading
size=Heading.H4
value="Insufficient data to visualize"
align=Heading.Center
weight=Heading.Regular
color=Colors.bandBlue
/>
</div>
</div>
<canvas id="historicalBonded" className={Styles.chart(show)} />
{!show
? <div className=Styles.emptyContainer>
<Icon name="fal fa-clock" size=40 color=Colors.bandBlue />
<VSpacing size={`px(16)} />
<Heading
size=Heading.H4
value="Insufficient data to visualize"
align=Heading.Center
weight=Heading.Regular
color=Colors.bandBlue
/>
</div>
: React.null}
</div>;
| _ => <LoadingCensorBar width=100 height=180 style=Styles.loadingBox />
};
};
1 change: 1 addition & 0 deletions scan/src/components/LatestBlocks.re
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ module Styles = {

let blocksWrapper =
style([
overflow(`hidden),
minWidth(`px(245)),
minHeight(`px(500)),
position(`relative),
Expand Down
4 changes: 2 additions & 2 deletions scan/src/components/NumberCountup.re
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[@react.component]
let make = (~value, ~size, ~weight, ~spacing) => {
let make = (~value, ~size, ~weight, ~spacing, ~color=Colors.gray7, ~code=true) => {
let countup =
Countup.context(
Countup.props(
Expand All @@ -22,5 +22,5 @@ let make = (~value, ~size, ~weight, ~spacing) => {
);

let newVal = Countup.countUpGet(countup);
<Text value={newVal} size weight spacing code=true nowrap=true />;
<Text value=newVal size weight spacing code nowrap=true color />;
};
Loading

0 comments on commit cfc1304

Please sign in to comment.