Giter Club home page Giter Club logo

sifnode's Introduction

sifnode

Sifchain is the omni-chain solution for DEXes. More performant, more robust crypto-economics for trading and security, more flexible trading capabilities, an extensible omni-chain roadmap and eventual true DAO governance.

Built using the Cosmos SDK and Tendermint, and generated with Starport.

Getting Started

To launch a validator or full-node on Sifchain, on either TestNet or BetaNet, then please see here.

Additional Resources

Feel free to ask questions on Discord here.

sifnode's People

Contributors

59023g avatar austinobombino avatar banshee avatar brianosaurus avatar canercandan avatar daniportugalgit avatar dependabot[bot] avatar elliotfriedman avatar gboie avatar gzukel avatar intl-man avatar iverc avatar jedi2002 avatar joneskm avatar juniuszhou avatar jzvikart avatar khdegraaf avatar kingpinxd avatar lanerjo avatar marshsif avatar marsifi avatar mccallofthewild avatar ryardley avatar sheokapr avatar sifmoon avatar tac0turtle avatar thomasdavis avatar timlind avatar utx0 avatar wilsonc2020 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sifnode's Issues

[Peggy] No Permissioning Around Oracle Claims on Cosmos

Currently, anyone is allowed to submit an oracle claim provided they have enough power, however, we need to restrict access to submitting these oracle claims to a specific set of private keys that the team controls. Then we will need to implement checks throughout the codebase on sifchain that check that the transaction signer is approved to create or sign off on an oracle claim.

[Peggy] Relayers / Validators out of gas issue

Description:

When a transaction passes from Ethereum to Sifchain via the ebrelayer, the relayer reports an out of gas error:

❯ sifnodecli q tx 4A6710512C8D506155F59600F870592ED6BAED74116F6718E6F83DAC6D43FD2F
height: 29443
txhash: 4A6710512C8D506155F59600F870592ED6BAED74116F6718E6F83DAC6D43FD2F
codespace: sdk
code: 11
data: ""
rawlog: 'out of gas: out of gas in location: ReadFlat; gasWanted: 200000, gasUsed: 200706'
logs: []
info: ""
gaswanted: 200000
gasused: 200706

Version:

name: sifchain
server_name: sifnoded
client_name: sifnodecli
version: 0.0.1
commit: 62a7d9d2790153c22fda084357993d4a03daf2fc
build_tags: ""
go: go version go1.15.3 linux/amd64

Expected Behaviour:

That the new token be minted accordingly and deposited to the destination address.

Additional Information:

The validator in question has/had plenty of tokens available to cover gas:

coins:
  - denom: chot
    amount: "10000000000000000000000000000000000"
  - denom: clink
    amount: "10000000000000000000000000000000000"
  - denom: cusdc
    amount: "10000000000000000000000000000000000"
  - denom: cusdt
    amount: "10000000000000000000000000000000000"
  - denom: rowan
    amount: "9999999999995000000000"

Swap Rest API appears not to run swap. CLI works fine

Maybe I just need help or am missing something. There is a chance this also just is a bug.

On develop HEAD: ed337b5

Setting up with this script:

#!/usr/bin/env bash

parallelizr() {
  for cmd in "$@"; do {
    echo "Process \"$cmd\" started";
    $cmd & pid=$!
    PID_LIST+=" $pid";
  } done

  trap "kill $PID_LIST" SIGINT

  echo "Parallel processes have started";

  wait $PID_LIST

  echo "All processes have completed";
}

rm -rf ~/.sifnoded
rm -rf ~/.sifnodecli

sifnoded init test --chain-id=sifchain

sifnodecli config output json
sifnodecli config indent true
sifnodecli config trust-node true
sifnodecli config chain-id sifchain
sifnodecli config keyring-backend test

echo "Generating deterministic account - shadowfiend"
echo "race draft rival universe maid cheese steel logic crowd fork comic easy truth drift tomorrow eye buddy head time cash swing swift midnight borrow" | sifnodecli keys add shadowfiend --recover

echo "Generating deterministic account - akasha"
echo "hand inmate canvas head lunar naive increase recycle dog ecology inhale december wide bubble hockey dice worth gravity ketchup feed balance parent secret orchard" | sifnodecli keys add akasha --recover

sifnoded add-genesis-account $(sifnodecli keys show shadowfiend -a) 1000rwn,1000catk,1000cbtk,1000ceth,100000000stake
sifnoded add-genesis-account $(sifnodecli keys show akasha -a) 1000rwn,1000catk,1000cbtk,1000ceth,100000000stake

sifnoded gentx --name shadowfiend --keyring-backend test

echo "Collecting genesis txs..."
sifnoded collect-gentxs

echo "Validating genesis file..."
sifnoded validate-genesis

echo "Starting test chain"

parallelizr "sifnoded start" "sifnodecli rest-server  --unsafe-cors --trace"

Then create the following liquidity pools;

# create liquidity pool from catk:rwn
sifnodecli tx clp create-pool \
 --from akasha \
 --sourceChain ETH \
 --symbol ETH \
 --ticker catk \
 --nativeAmount 500 \
 --externalAmount 500 \
 --yes

# if we don't sleep there are issues
sleep 5

# create liquidity pool from cbtk:rwn
sifnodecli tx clp create-pool \
 --from akasha \
 --sourceChain ETH \
 --symbol ETH \
 --ticker cbtk \
 --nativeAmount 500 \
 --externalAmount 500 \
 --yes

# should now be able to swap from catk:cbtk

The following is received with no error but appears NOT to run the swap code in the handlers:

curl --location --request POST 'http://127.0.0.1:1317/clp/swap' \
--header 'Content-Type: application/json' \
--data-raw '{
    "sent_asset": {
    "symbol": "catk",
    "ticker": "catk",
    "source_chain": "ethereum"
    },
    "base_req": {
    "chain_id": "sifnode",
    "from": "sif1syavy2npfyt9tcncdtsdzf7kny9lh777yqc2nd"
    },
    "received_asset": {
    "symbol": "cbtk",
    "ticker": "cbtk",
    "source_chain": "ethereum"
    },
    "signer": "sif1syavy2npfyt9tcncdtsdzf7kny9lh777yqc2nd",
    "sent_amount": "30"
}'

However this does and it also appears to execute the swap:

sifnodecli tx clp swap --from shadowfiend --sentSourceChain ethereum --sentSymbol catk --sentTicker catk --receivedSourceChain ethereum --receivedSymbol cbtk --receivedTicker cbtk --sentAmount 20

I can't find errors in the output. I can't find failed transactions. It appears that the msg is being silently dropped.

Am I missing something?

[Peggy] Static Analysis (High) - State variable shadowing in BridgeBank

Slither raised a high severity warning about state variable shadowing of BridgeBank_initialized and its parent contracts CosmosWhiteList_initialized and EthereumWhiteList._initialized.

INFO:Detectors:
BridgeBank._initialized (BridgeBank/BridgeBank.sol#27) shadows:
        - CosmosWhiteList._initialized (BridgeBank/CosmosWhiteList.sol#11)
        - EthereumWhiteList._initialized (BridgeBank/EthereumWhitelist.sol#9)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing

If this is decided to just be noise we can change slither to ignore this error in the future.

[Peggy] Static Analysis (Med) - CosmosBridge.newProphecyClaim is an uninitialized local variable

Slither raised a medium severity warning that CosmosBridge.newProphecyClaim is an uninitialized local variable.

INFO:Detectors:
CosmosBridge.newProphecyClaim(CosmosBridgeStorage.ClaimType,bytes,uint256,address,string,uint256).tokenAddress (CosmosBridge.sol#142) is a local variable never initialized
CosmosBridge.newProphecyClaim(CosmosBridgeStorage.ClaimType,bytes,uint256,address,string,uint256).symbol (CosmosBridge.sol#143) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables

If this is decided to not be an issue then I can add a filter to remove it from future static analysis runs.

[Peggy] Broken build on `develop`

Somehow we have managed to merge a breaking build into develop for the peggy code:

~/Dropbox/Code/__blockchain__/sifchain/sifnode develop*
❯ go test ./cmd/ebrelayer/...
# github.com/keybase/go-keychain
cgo-gcc-prolog:203:11: warning: 'SecTrustedApplicationCreateFromPath' is deprecated: first deprecated in macOS 10.15 - No longer supported [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrustedApplication.h:59:10: note: 'SecTrustedApplicationCreateFromPath' has been explicitly marked deprecated here
?       github.com/Sifchain/sifnode/cmd/ebrelayer       [no test files]
?       github.com/Sifchain/sifnode/cmd/ebrelayer/contract      [no test files]
?       github.com/Sifchain/sifnode/cmd/ebrelayer/contract/generated/bindings/bridgebank        [no test files]
?       github.com/Sifchain/sifnode/cmd/ebrelayer/contract/generated/bindings/bridgeregistry    [no test files]
?       github.com/Sifchain/sifnode/cmd/ebrelayer/contract/generated/bindings/cosmosbridge      [no test files]
?       github.com/Sifchain/sifnode/cmd/ebrelayer/contract/generated/bindings/oracle    [no test files]
?       github.com/Sifchain/sifnode/cmd/ebrelayer/contract/generated/bindings/valset    [no test files]
--- FAIL: TestSetupWebsocketEthClient (0.00s)
    network_test.go:36: 
                Error Trace:    network_test.go:36
                Error:          An error is expected but got nil.
                Test:           TestSetupWebsocketEthClient
                Messages:       invalid websocket eth client URL: http://localhost:7545
FAIL
FAIL    github.com/Sifchain/sifnode/cmd/ebrelayer/relayer       1.008s
ok      github.com/Sifchain/sifnode/cmd/ebrelayer/txs   0.666s
?       github.com/Sifchain/sifnode/cmd/ebrelayer/types [no test files]
FAIL

[Peggy] - Node failed to commit block and crashed

System Info:

name: sifchain
server_name: sifnoded
client_name: sifnodecli
version: 0.0.1
commit: 554bf5639a8338e2853ffe652ae7b9fbe0cafff0
build_tags: ""
go: go version go1.13.8 linux/amd64

Expected Behaviour:
A new node should continue to sync indefinitely

What Happened:
The node stops syncing at block 1328 due to a Golang runtime error.

Steps to Replicate:

  • Clone Sifchain/sifnode
  • Follow the steps in the readme to set up a new node
  • Run the node with sifnoded start
  • Leave it to sync until it reaches block 1328

Stack Trace/Error Log:

I[2020-12-07|11:15:30.566] Committed state                              module=state height=1326 txs=0 appHash=0A47CCB44842B9E5F4C33AC5693B01B2502F505FA82295EC3EFE3EF78B30728E
I[2020-12-07|11:15:30.571] Executed block                               module=state height=1327 validTxs=0 invalidTxs=1
I[2020-12-07|11:15:30.573] Committed state                              module=state height=1327 txs=1 appHash=0A47CCB44842B9E5F4C33AC5693B01B2502F505FA82295EC3EFE3EF78B30728E
panic: Failed to process committed block (1328:182201D33A62469A19DF55960FB9D7D303B47D8AEB042CD04E015EDDF72BF785): wrong Block.Header.AppHash.  Expected 0A47CCB44842B9E5F4C33AC5693B01B2502F505FA82295EC3EFE3EF78B30728E, got 224A165B5DD8B53BB0492DAD7054E28A1906F7F8850D58F99E212C0B978FA1E0

goroutine 132 [running]:
github.com/tendermint/tendermint/blockchain/v0.(*BlockchainReactor).poolRoutine(0xc000492ea0)
	/home/edd/go/pkg/mod/github.com/tendermint/[email protected]/blockchain/v0/reactor.go:349 +0x12ea
created by github.com/tendermint/tendermint/blockchain/v0.(*BlockchainReactor).OnStart
	/home/edd/go/pkg/mod/github.com/tendermint/[email protected]/blockchain/v0/reactor.go:118 +0x84

[Peggy] Fix error handling

The peggy go code has very poor error handling and in most cases is just log.Fatal() and crashing the process.

Can someone please audit the code and swap all the log.Fatal or log.Print and make sure errors are handled correcly.

[Peggy] Dropped Transactions

A current hypothetical problem that we face in peggy is that if a validator goes offline and misses a transaction, they will not listen to the events that happened in the past and submit an oracle claim based on it. We need a solution where we can replay previous transactions, listen to their events, and submit transactions based on this.

This solution should work for both ethereum and cosmos transactions in case a listener drops tx's on either side.

[ChainOps] Broadcast Evidence RPC endpoint returns an invalid memory address error.

Description:

When I visit the following RPC endpoint via my web browser:

http://<validator_ip_address>:26657/broadcast_evidence

the following error is logged to STDOUT on the validator:

/core/evidence.go:13 +0x4e\nreflect.Value.call(0x12207a0, 0x1550330, 0x13, 0x13ba9c2, 0x4, 0xc005816f60, 0x2, 0x2, 0xc005816f78, 0xc005fdb3c0, ...)\n\t/usr/local/go/src/reflect/value.go:475 +0x8c7\nreflect.Value.Call(0x12207a0, 0x1550330, 0x13, 0xc005816f60, 0x2, 0x2, 0x1, 0x2, 0x15523e8)\n\t/usr/local/go/src/reflect/value.go:336 +0xb9\ngithub.com/tendermint/tendermint/rpc/jsonrpc/server.makeHTTPHandler.func2(0x16ae2c0, 0xc005fdb340, 0xc005811000)\n\t/go/pkg/mod/github.com/tendermint/[email protected]/rpc/jsonrpc/server/http_uri_handler.go:56 +0x312\nnet/http.HandlerFunc.ServeHTTP(0xc000c0a6f0, 0x16ae2c0, 0xc005fdb340, 0xc005811000)\n\t/usr/local/go/src/net/http/server.go:2042 +0x44\nnet/http.(*ServeMux).ServeHTTP(0xc0001f3ac0, 0x16ae2c0, 0xc005fdb340, 0xc005811000)\n\t/usr/local/go/src/net/http/server.go:2417 +0x1ad\ngithub.com/tendermint/tendermint/rpc/jsonrpc/server.maxBytesHandler.ServeHTTP(0x16923c0, 0xc0001f3ac0, 0xf4240, 0x16ae2c0, 0xc005fdb340, 0xc005811000)\n\t/go/pkg/mod/github.com/tendermint/[email protected]/rpc/jsonrpc/server/http_server.go:240 +0xd4\ngithub.com/tendermint/tendermint/rpc/jsonrpc/server.RecoverAndLogHandler.func1(0x16aeac0, 0xc000fd0460, 0xc005811000)\n\t/go/pkg/mod/github.com/tendermint/[email protected]/rpc/jsonrpc/server/http_server.go:213 +0x39a\nnet/http.HandlerFunc.ServeHTTP(0xc001622210, 0x16aeac0, 0xc000fd0460, 0xc005811000)\n\t/usr/local/go/src/net/http/server.go:2042 +0x44\nnet/http.serverHandler.ServeHTTP(0xc0001807e0, 0x16aeac0, 0xc000fd0460, 0xc005811000)\n\t/usr/local/go/src/net/http/server.go:2843 +0xa3\nnet/http.(*conn).serve(0xc00537fa40, 0x16b32c0, 0xc005148340)\n\t/usr/local/go/src/net/http/server.go:1925 +0x8ad\ncreated by net/http.(*Server).Serve\n\t/usr/local/go/src/net/http/server.go:2969 +0x36c\n"

Version:

name: sifchain
server_name: sifnoded
client_name: sifnodecli
version: 0.0.1
commit: 62a7d9d2790153c22fda084357993d4a03daf2fc
build_tags: ""
go: go version go1.15.3 linux/amd64

Expected Behaviour:

Any out of range or nil pointer exceptions should be handled gracefully, however the node still continues to create and sign blocks (doesn't crash).

Additional Information:

No existing Tendermint/Cosmos Github issue exists for this problem at present, but it could be something specific to our implementation.

[ChainOps] Clean up kubes pods on PR merge.

Description:

When a feature branch is merged into develop, the k8s namespace needs to be removed from the feature testnet cluster.

Version:

N/A

Expected Behaviour:

That the namespace is deleted from the testnet feature cluster.

Additional Information:

Refer to the deployment workflow here, for reference.

[ChainOps] Terraform fails when attempting to install the EFS driver.

Description:

When attempting to deploy a cluster (using local storage due to issues via Terraform Cloud) to AWS, the following error occurs:

Error: ResourceCreate: creating 'storage.k8s.io/v1beta1, Resource=csidrivers' failed: csidrivers.storage.k8s.io "efs.csi.aws.com" already exists

  on .terraform/modules/sifchain/deploy/terraform/providers/aws/main.tf line 202, in resource "kustomization_resource" "efs_csi_driver":
 202: resource "kustomization_resource" "efs_csi_driver" {

Version:

Terraform: v0.13.5
Helm: version.BuildInfo{Version:"v3.3.4", GitCommit:"a61ce5633af99708171414353ed49547cf05013d", GitTreeState:"clean", GoVersion:"go1.14.9"}

Expected Behaviour:

If the EFS CSI driver already exists, don't try and install it.

Other Information:

Possible related issue here

[Peggy] ebrelayer requires passphrase when witnessing a tx at runtime

Description:

The Peggy relayer requires a passphrase to be supplied when initialised, to access the validator's key (at ~/.sifnodecli). However, this passphrase is not cached and as such when the relayer witnesses a new transaction it continues to prompt for a password. This is not an ideal situation in the slightest, since the relayer runs in a non-interactive manner.

Version:

name: sifchain
server_name: sifnoded
client_name: sifnodecli
version: 0.0.1
commit: 62a7d9d2790153c22fda084357993d4a03daf2fc
build_tags: ""
go: go version go1.15.3 linux/amd64

Expected Behaviour:

That the relayer be passed a mnemonic or passphrase on initialisation which is then used to access the keyring, so that no interaction is required by an operator.

Additional Information:

Potential clues/solutions may be found here with how to interact with the keyring in the manner we desire. A simple proof of concept can also be found here.

README Docs step: Create-Validator command raising error

This is based on the README instructions to create a validator. Is fails with the following error

moniker = "sparkling-fog"
root@sifchain-vm:~/sifnode# sifnodecli tx staking create-validator \
>     --commission-max-change-rate 0.1 \
>     --commission-max-rate 0.1 \
>     --commission-rate 0.1 \
>     --amount 5000000rowan \
>     --pubkey $(sifnoded tendermint show-validator) \
>     --moniker sparkling-fog \
>     --chain-id monkey-bars \
>     --min-self-delegation 1 \
>     --gas auto \
>     --from sparkling-fog \
>     --keyring-backend file
failed to get from fields: The specified item could not be found in the keyring

however replacing with --arg=value format with these works. Either we should update the README with --arg=value syntax or find out why this doesn't work

[CLP] cli/rest return all pools info for a single key

Is your proposal related to a problem?

Currently there is no way for a liquidity provider to get a a complete picture/output of all the lp there assets in different pools in a single command.

Only option is going via each pool eg: sifnodecli q clp lp ceth $(sifnodecli keys show sif -a)

Describe the solution you'd like

A command like the following;

sifnodecli q clp pools (sifnodecli keys show sif -a)

that returns all pools/lp info for all pools the key has assets in.

Additional context

We also need something like this in the rest API too.

[Peggy] ebrelayer doesnt restart websocket connection if dropped

In debugging the ebrelayer, I noticed that the websocket connect to infura dropped and the connection wasnt restarted. From this point onwards no more txs were witnessed

E[2020-11-09|04:11:15.875] websocket: close 1006 (abnormal closure): unexpected EOF 

[ChainOps] IAM policy Bug when deploying new cluster

@ilchebedelovski when deploying a new cluster last night I got this error:

module.sifchain.module.eks.module.node_groups.aws_eks_node_group.workers["main"]: Creation complete after 2m49s [id=sifchain-aws-monkey-bars:sifchain-aws-monkey-bars-main-excited-ostrich]

Error: Error creating IAM policy Amazon_EBS_CSI_Driver: EntityAlreadyExists: A policy called Amazon_EBS_CSI_Driver already exists. Duplicate names are not allowed.
        status code: 409, request id: bbf69f2c-cf89-4df1-9a70-478aba3d2149



Error: ResourceCreate: GroupVersionKind 'rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind 'apps/v1, Kind=DaemonSet' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind 'apps/v1, Kind=Deployment' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind 'storage.k8s.io/v1beta1, Kind=CSIDriver' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind '/v1, Kind=ServiceAccount' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind 'rbac.authorization.k8s.io/v1, Kind=ClusterRole' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind 'rbac.authorization.k8s.io/v1, Kind=ClusterRole' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {



Error: ResourceCreate: GroupVersionKind 'rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding' Get "https://0845C1000CDFB4A66A6558F2FEDA53EB.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": dial tcp 44.229.18.109:443: i/o timeout

  on ../../build/terraform/providers/aws/main.tf line 134, in resource "kustomization_resource" "resources":
 134: resource "kustomization_resource" "resources" {




[PEGGY] What should our peggy threshold be for oracles on ethereum?

Currently, peggy only needs a single oracle to sign off on it to release or mint user funds on ethereum. I would like to know how many oracles we are going to have on top of the ethereum side to sign off on a single transaction before we consider it valid.

This is a trivial change in the env file, however, it is something that I need to know in terms of how we want to set up peggy.

Running this script gives an error at the end of the docker build:

Running this script gives an error at the end of the docker build:

`=> exporting to image 0.3s
=> => exporting layers 0.3s
=> => writing image sha256:fec84c8f14c6a97d6c4559e6b7a5045a537bdbd1365e8f6ad62cda222ee3ec36 0.0s
=> => naming to docker.io/sifchain/sifnoded:localnet 0.0s
ERROR: The Compose file '././genesis/docker-compose.yml' is invalid because:
services.sifnode2.networks.network_mode contains an invalid type, it should be an object, or a null
services.sifnode4.networks.network_mode contains an invalid type, it should be an object, or a null

If one chooses the force kill remember to docker stop $(docker ps -aq) to spin down ganache-cli
======================`

Originally posted by @ElliotFriedman in #262 (comment)

[Peggy] decimals for cosmos or conversion to 10^18

Currently Ethereum numbers (ERC-20 and ETH itself) and cosmos coins work correctly in terms of binary representation.
For example 100 ETH means 100 wei but not 100 Ether. The same happens with token. The numbers are processed correctly regardless of decimals based only on binary number representation. I believe it is correct behaviour and ERC-20 tokens decimals are purely "representation feature".

However: it still makes user confused. Highly visible it becomes with case of transferring ether. For example:

sifnodecli tx ethbridge burn $(sifnodecli keys show akasha -a) 100 ceth --ethereum-chain-id=5777 --from=akasha --yes

user expects to transfer 100 Ethers but not 100 wei.

The solution:
Either to implement and support decimals on cosmos side or at least to clarify it somehow in documentation and scripts. pioneers will never understand it correctly and we may have a lot of issues with that.

[Peggy] Bridge Transactions from ethereum to sifchain overflow

Currently Peggy overflows when too large of a transfer happens from ethereum to sifchain. This issue was caught when trying to transfer 10000000000000000000 wei from ethereum to sifchain. Will need to change the number type on cosmos for how this is stored, or we could possible divide on the ethereum side before emitting and then multiply out when going the other way.

[Peggy] Build issue: always check the return value from system() call in rakefiles

Describe the bug

Should always check the result of system() in rakefiles. We do check sometimes by doing system("...") or exit 1 but that should always be the way we call system().

Probably should add something like a system_or_exit() call to deploy/rake/helpers.rake that always checks the return value and prints a useful error.

(Not checking the return value means you can easily get into an unexpected state, since we just assume things worked.)

Bug Reproduction Steps

Set up your environment so that command lines executed by system() don't have the right tools installed.

[Peggy] - Undefined object as part of migrations/2_next.js

Describe the bug
When I run yarn migrate I'm seeing a type error during the second migration in 2_next.js. Specifically, something is undefined and we get the length of it.

Bug Reproduction Steps

git clone https://github.com/Sifchain/sifnode
./scripts/init.sh
cd smart-contracts
yarn
yarn develop
yarn migrate

Stack Trace

╰─ yarn migrate                                                                                                                            ─╯
yarn run v1.22.4
$ npx truffle migrate --reset

Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.



Starting migrations...
======================
> Network name:    'ganache'
> Network id:      5777
> Block gas limit: 6721975 (0x6691b7)


1_initial_migration.js
======================

   Replacing 'Migrations'
   ----------------------
   > transaction hash:    0xdbeb2425e807bf02e0e5753b7d58b70e37f4c46b150dca49aab87cdae92f9154
   > Blocks: 0            Seconds: 0
   > contract address:    0x345cA3e014Aaf5dcA488057592ee47305D9B3e10
   > block number:        3
   > block timestamp:     1607676558
   > account:             0x627306090abaB3A6e1400e9345bC60c78a8BEf57
   > balance:             99.99242346
   > gas used:            168274 (0x29152)
   > gas price:           20 gwei
   > value sent:          0 ETH
   > total cost:          0.00336548 ETH


   > Saving migration to chain.
   > Saving artifacts
   -------------------------------------
   > Total cost:          0.00336548 ETH


2_next.js
=========

TypeError: Cannot read property 'length' of undefined
    at module.exports (/home/edd/Workspace/Sifchain/i341/smart-contracts/migrations/2_next.js:23:39)
    at Migration._load (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:54:1)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)
    at Migration.run (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:171:1)
    at Object.runMigrations (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/migrate/index.js:150:1)
    at Object.runFrom (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/migrate/index.js:110:1)
    at Object.runAll (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/migrate/index.js:114:1)
    at Object.run (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/migrate/index.js:79:1)
    at runMigrations (/home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:269:1)
    at /home/edd/Workspace/Sifchain/i341/smart-contracts/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:231:1
Truffle v5.1.49 (core: 5.1.49)
Node v15.3.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

[CLP] Second user cannot become a liquidity provider by adding liquidity

Not 100% sure I am doing something wrong here or if this is a bug.

Outcome

Steps to reproduce:

  1. Use the following script to initialize the chain:
#!/usr/bin/env bash
rm -rf ~/.sifnoded
rm -rf ~/.sifnodecli

sifnoded init test --chain-id=sifchain

sifnodecli config output json
sifnodecli config indent true
sifnodecli config trust-node true
sifnodecli config chain-id sifchain
sifnodecli config keyring-backend test

echo "Generating deterministic account - shadowfiend"
echo "race draft rival universe maid cheese steel logic crowd fork comic easy truth drift tomorrow eye buddy head time cash swing swift midnight borrow" | sifnodecli keys add shadowfiend --recover

echo "Generating deterministic account - akasha"
echo "hand inmate canvas head lunar naive increase recycle dog ecology inhale december wide bubble hockey dice worth gravity ketchup feed balance parent secret orchard" | sifnodecli keys add akasha --recover

sifnoded add-genesis-account $(sifnodecli keys show shadowfiend -a) 1000000000rwn,1000000000catk,1000000000cbtk,1000000000ceth,100000000stake
sifnoded add-genesis-account $(sifnodecli keys show akasha -a) 1000000000rwn,1000000000catk,1000000000cbtk,1000000000ceth,100000000stake

sifnoded gentx --name shadowfiend --keyring-backend test

echo "Collecting genesis txs..."
sifnoded collect-gentxs

echo "Validating genesis file..."
sifnoded validate-genesis
  1. Start the chain
sifnoded start
  1. Setup a couple of liquidity pools with the akasha user
# create liquidity pool from catk:rwn
sifnodecli tx clp create-pool \
 --from akasha \
 --sourceChain ETH \
 --symbol ETH \
 --ticker catk \
 --nativeAmount 1000000 \
 --externalAmount 1000000 \
 --yes

# create liquidity pool from cbtk:rwn
sifnodecli tx clp create-pool \
 --from akasha \
 --sourceChain ETH \
 --symbol ETH \
 --ticker cbtk \
 --nativeAmount 1000000 \
 --externalAmount 1000000 \
 --yes
  1. Check akasha is a liquidity provider
sifnodecli query clp lp catk $(sifnodecli keys show akasha -a)

{
  "LiquidityProvider": {
    "asset": {
      "source_chain": "ETH",
      "symbol": "ETH",
      "ticker": "catk"
    },
    "liquidity_provider_units": "1000000",
    "liquidity_provider_address": "sif1l7hypmqk2yc334vc6vmdwzp5sdefygj2ad93p5"
  },
  "height": "18"
}
  1. Join the pool with the shadowfiend user
sifnodecli tx clp add-liquidity \
 --from shadowfiend \
 --sourceChain ETH \
 --symbol ETH \
 --ticker catk \
 --nativeAmount 10000 \
 --externalAmount 10000 \
 --yes
  1. Check the liquidity
sifnodecli query clp lp catk $(sifnodecli keys show shadowfiend -a)
ERROR: liquidity Provider does not exist

Expected outcome

sifnodecli query clp lp catk $(sifnodecli keys show shadowfiend -a)

Should return a LiquidityProvider object with lp units


Adding more liquidity with akasha increments the pool units and appears to work but using the second user to add liquidity to an existing pool appears to fail.

[ChainOps] ABCI Query RPC Endpoint returns an index out of range error.

Description:

When I visit the following RPC endpoint via my web browser:

http://<node_ip_address>:26657/abci_query?height=1000)

the following error is logged to STDOUT on the validator:

index out of range [0] with length 0

Version:

name: sifchain
server_name: sifnoded
client_name: sifnodecli
version: 0.0.1
commit: 62a7d9d2790153c22fda084357993d4a03daf2fc
build_tags: ""
go: go version go1.15.3 linux/amd64

Expected Behaviour:

Any out of range or nil pointer exceptions should be handled gracefully, however the node still continues to create and sign blocks (doesn't crash).

Additional Information:

No existing Tendermint/Cosmos Github issue exists for this problem at present, but it could be something specific to our implementation.

CLP Genesis

When generating a new genesis file, the following error is returned:

ERROR: failed to validate genesis state: failed to unmarshal clp genesis state: UnmarshalJSON cannot decode empty bytes

as it appears that the initial CLP Genesis state is emtpy.

[Peggy] peggy:burn does not work for cosmos native pegged eToken.

smart contract + relayer process it correctly (so ethereum token burned correctly) but cosmos transaction is rejected on sifnode side.

commit: 554bf56

To reproduce on clean install:

./scripts/init.sh
cd smart-contracts
yarn develop
yarn migrate
sifnoded start
export ETHEREUM_PRIVATE_KEY=c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3 # which is INITIAL_VALIDATOR_ADDRESSES
ebrelayer init tcp://localhost:26657 ws://localhost:7545/ 0xdDA6327139485221633A1FcD65f4aC932E60A2e1 akasha <akasha's mnemonic> --chain-id=sifchain
# to generate erowan token at first
sifnodecli tx ethbridge lock $(sifnodecli keys show akasha -a) 0xf17f52151EbEF6C7334FAD080c5704D77216b732 1 rowan --ethereum-chain-id=5777 --from=akasha --yes
yarn peggy:burn $(sifnodecli keys show akasha -a) erowan 1 0xf17f52151EbEF6C7334FAD080c5704D77216b732

Possibly duplicate of #341
since look mirrored

CLI: add-liquidity doesnt appear to be adding liquidity to the pool

Reproduce:

Branch: feature/cli

yes Y | sifnodecli tx clp create-pool --from user1 --sourceChain ETH --symbol cLINK --ticker cLINK --nativeAmount 1000 --externalAmount 1

echo "Query all pools"
sleep 3
sifnodecli query clp pools

echo "Query specific pool"
sleep 3
sifnodecli query clp pool cLINK ETH

echo "Query Liquidity Provider / Pool creator is the first lp for the pool"
sleep 3
sifnodecli query clp lp cLINK $(sifnodecli keys show user1 -a)


echo "adding more liquidity"
sleep 3
yes Y | sifnodecli tx clp add-liquidity --from user1 --sourceChain ETH --symbol cLINK --ticker cLINK --nativeAmount 1000 --externalAmount 1

## nativeAmount doesnt increase.
sifnodecli query clp pool cLINK ETH

[PEGGY] Remove the smart contract bin code

To generate the bin code for smart contract, need install the ethereum and solc, which have lots of dependencies. To help people to test, submit the bin code into the repo. Later will remove these files after most of people comfortible with these tools, and successfully installed in local environment.

[Peggy] scripts/sendLockTx.js always prints expected usage, should only do that on incorrect parameters

Describe the bug
scripts/sendLockTx.js unconditionally calls

console.log("Expected usage: \ntruffle exec scripts/sendLockTx.js --network ropsten sif1nx650s8q9w28f2g3t9ztxyg48ugldptuwzpace eth 100\n");

That should only happen if the parameters are invalid.

Bug Reproduction Steps

Execute scripts/sendLockTx.js. Observe that it always prints the wrong thing; the expected usage lines should only be printed when it's invoked incorrectly.

2020-12-07T21:18:34.6324500Z $ npx truffle exec scripts/sendLockTx.js sif1ujtqwjwftx3vamdtkv45wvqq09fj0gnlxd22e2 0x0000000000000000000000000000000000000000 1000000000000000000
2020-12-07T21:18:37.7345955Z Using network 'ganache'.
2020-12-07T21:18:37.7346977Z 
2020-12-07T21:18:38.1069731Z Expected usage: 
2020-12-07T21:18:38.1073349Z truffle exec scripts/sendLockTx.js --network ropsten sif1nx650s8q9w28f2g3t9ztxyg48ugldptuwzpace eth 100

System Info

Reproduces in the integration test environment. You can see the incorrect output in runs like this

[Peggy] Static Analysis (Med) - Reentrancy in CosmosBridge.newProphecyClaim

Slither raised a medium warning about a potential reentrancy vulnerability in CosmosBridge.newProphecyClaim and suggested implementing the Checks-Effects-Interactions pattern to circumvent this.

INFO:Detectors:
Reentrancy in CosmosBridge.newProphecyClaim(CosmosBridgeStorage.ClaimType,bytes,uint256,address,string,uint256) (CosmosBridge.sol#129-199):
        External calls:
        - tokenAddress = BridgeBank(bridgeBank).createNewBridgeToken(symbol) (CosmosBridge.sol#156)
        State variables written after the call(s):
        - usedNonce[_prophecyID] = true (CosmosBridge.sol#192)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1

If this is decided to not be an issue then I can add a filter to remove it from future static analysis runs.

[CLP] `sifnodecli q clp lp` to provide more details on assets in pool

Is your proposal related to a problem?

When querying via the cli with the following command: sifnodecli q clp lp ceth $(sifnodecli keys show sif -a) only the value of y liquidity_provider_units is returned.

However I would also like to know how many nativeAmount and exteranlAmount I also have as part of this lp.

Eg:

[I] utx0@metta ~/C/s/sifnode (develop)> sifnodecli q clp lp ceth (sifnodecli keys show sif -a)
{
  "LiquidityProvider": {
    "asset": {
      "symbol": "ceth"
    },
    "liquidity_provider_units": "20000",
    "liquidity_provider_address": "sif1syavy2npfyt9tcncdtsdzf7kny9lh777yqc2nd"
  },
  "height": "100"
}

Describe the solution you'd like

Extra output as follows;

[I] utx0@metta ~/C/s/sifnode (develop)> sifnodecli q clp lp ceth (sifnodecli keys show sif -a)
{
  "LiquidityProvider": {
    "asset": {
      "symbol": "ceth"
    },
    "native_asset_balance": "20000",
    "external_asset_balance": "20000",
    "liquidity_provider_units": "20000",
    "liquidity_provider_address": "sif1syavy2npfyt9tcncdtsdzf7kny9lh777yqc2nd"
  },
  "height": "100"
}

[Peggy] peggy:lock for eth does not work

smart contract + relayer process it correctly (eth is locked in Bridge contract correctly) but cosmos transaction is rejected on sifnode side.
Commit: 554bf56
To reproduce on fresh install:

./scripts/init.sh
cd smart-contracts
yarn develop
yarn migrate
sifnoded start
export ETHEREUM_PRIVATE_KEY=c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3 # which is INITIAL_VALIDATOR_ADDRESSES
ebrelayer init tcp://localhost:26657 ws://localhost:7545/ 0xdDA6327139485221633A1FcD65f4aC932E60A2e1 akasha <akasha's mnemonic> --chain-id=sifchain
yarn peggy:lock $(sifnodecli keys show akasha -a) eth 100 <sender account>

On the same setting command works correctly:

sifnodecli tx ethbridge lock $(sifnodecli keys show akasha -a) 0xf17f52151EbEF6C7334FAD080c5704D77216b732 1 rowan --ethereum-chain-id=5777 --from=akasha --yes

[Peggy] Incorrect address eats senders tokens

When sending in a tx into the eth smart contract / peggy world with an invalid sifchain address the tokens are eatten by the smart contract. I think we need some form of validation and a refund event for this possible situation.

fnode1_1  | I[2020-11-12|03:31:04.351] Witnessed tx 0xf5dc12318726859c60d3a919d5727d8837138dd28a081d333b7dee575ebd85ab on block 9053107
sifnode1_1  |  
sifnode1_1  | 2020/11/12 03:31:04 Found event from the etherem bridgebank contract:  LogLock
sifnode1_1  | 2020/11/12 03:31:04 Found loglock event from the etherem bridgebank contract:  LogLock
sifnode1_1  | I[2020-11-12|03:31:04.351] 
sifnode1_1  | Chain ID: 3
sifnode1_1  | Bridge contract address: 0x80E6A5D9a855D855AD6Fc9912d685b8dFdE24104
sifnode1_1  | Token symbol: ETH
sifnode1_1  | Token contract address: 0x0000000000000000000000000000000000000000
sifnode1_1  | Sender: 0x7fB2C6b223A732E78A6D655Ef13f2C29C08dE9CA
sifnode1_1  | Recipient: 7369663179673063643375766d793572383371766a797739376d6b7364707a61676c637033657566726d
sifnode1_1  | Value: 10000000
sifnode1_1  | Nonce: 14
sifnode1_1  | Claim type: lock 
sifnode1_1  | E[2020-11-12|03:31:04.351] decoding bech32 failed: checksum failed. Expected 2py2pk, got 66726d. 
sifnode2_1  | 2020/11/12 03:31:04 Found event from the etherem bridgebank contract:  LogLock
sifnode2_1  | 2020/11/12 03:31:04 Found loglock event from the etherem bridgebank contract:  LogLock
sifnode2_1  | I[2020-11-12|03:31:04.352] Witnessed tx 0xf5dc12318726859c60d3a919d5727d8837138dd28a081d333b7dee575ebd85ab on block 9053107
sifnode2_1  |  
sifnode2_1  | I[2020-11-12|03:31:04.352] 
sifnode2_1  | Chain ID: 3
sifnode2_1  | Bridge contract address: 0x80E6A5D9a855D855AD6Fc9912d685b8dFdE24104
sifnode2_1  | Token symbol: ETH
sifnode2_1  | Token contract address: 0x0000000000000000000000000000000000000000
sifnode2_1  | Sender: 0x7fB2C6b223A732E78A6D655Ef13f2C29C08dE9CA
sifnode2_1  | Recipient: 7369663179673063643375766d793572383371766a797739376d6b7364707a61676c637033657566726d
sifnode2_1  | Value: 10000000
sifnode2_1  | Nonce: 14
sifnode2_1  | Claim type: lock 
sifnode2_1  | E[2020-11-12|03:31:04.352] decoding bech32 failed: checksum failed. Expected 2py2pk, got 66726d. 
sifnode4_1  | I[2020-11-12|03:31:04.353] Witnessed tx 0xf5dc12318726859c60d3a919d5727d8837138dd28a081d333b7dee575ebd85ab on block 9053107
sifnode4_1  |  
sifnode4_1  | I[2020-11-12|03:31:04.353] 
sifnode4_1  | Chain ID: 3
sifnode4_1  | Bridge contract address: 0x80E6A5D9a855D855AD6Fc9912d685b8dFdE24104
sifnode4_1  | Token symbol: ETH
sifnode4_1  | Token contract address: 0x0000000000000000000000000000000000000000
sifnode4_1  | Sender: 0x7fB2C6b223A732E78A6D655Ef13f2C29C08dE9CA
sifnode4_1  | Recipient: 7369663179673063643375766d793572383371766a797739376d6b7364707a61676c637033657566726d
sifnode4_1  | Value: 10000000
sifnode4_1  | Nonce: 14
sifnode4_1  | Claim type: lock 
sifnode4_1  | 2020/11/12 03:31:04 Found event from the etherem bridgebank contract:  LogLock
sifnode4_1  | 2020/11/12 03:31:04 Found loglock event from the etherem bridgebank contract:  LogLock
sifnode4_1  | E[2020-11-12|03:31:04.353] decoding bech32 failed: checksum failed. Expected 2py2pk, got 66726d. 
sifnode3_1  | I[2020-11-12|03:31:04.360] Witnessed tx 0xf5dc12318726859c60d3a919d5727d8837138dd28a081d333b7dee575ebd85ab on block 9053107
sifnode3_1  |  
sifnode3_1  | I[2020-11-12|03:31:04.360] 
sifnode3_1  | Chain ID: 3
sifnode3_1  | Bridge contract address: 0x80E6A5D9a855D855AD6Fc9912d685b8dFdE24104
sifnode3_1  | Token symbol: ETH
sifnode3_1  | Token contract address: 0x0000000000000000000000000000000000000000
sifnode3_1  | Sender: 0x7fB2C6b223A732E78A6D655Ef13f2C29C08dE9CA
sifnode3_1  | Recipient: 7369663179673063643375766d793572383371766a797739376d6b7364707a61676c637033657566726d
sifnode3_1  | Value: 10000000
sifnode3_1  | Nonce: 14
sifnode3_1  | Claim type: lock

[Peggy] Static Analysis (Med) - State variable shadowing from abstract contracts in BankStorage

Slither raised a medium severity warning about state variable shadowing from abstract contracts. BridgeBank/BankStorage shadows ___gap variables in CosmosWhiteListStorage, EthereumBankStorage, and CosmosBankStorage.

INFO:Detectors:
BankStorage.____gap (BridgeBank/BankStorage.sol#35) shadows:
        - CosmosWhiteListStorage.____gap (BridgeBank/CosmosWhiteListStorage.sol#13)
        - EthereumBankStorage.____gap (BridgeBank/EthereumBankStorage.sol#23)
        - CosmosBankStorage.____gap (BridgeBank/CosmosBankStorage.sol#39)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing-from-abstract-contracts

If this is decided to not be an issue then I can add a filter to remove it from future static analysis runs.

Peggy is Allowed to Burn when it should lock and vise versa

A current problem we face in peggy on the relayer and cosmos side is that you can burn an asset that is cosmos native, which will not trigger correct logic on the ethereum side. Say you have some rowan on sifchain, if you burn that rowan, instead of locking it, it will try to unlock rowan on the ethereum side instead of trying to mint it. This will effectively mean that money was destroyed unless an admin steps in and mints tokens for you.

[ChainOps] Deployments via Terraform Cloud failing

Description:

When deploying a new cluster via Terraform Cloud, it fails with the following error:

Error: ResourceCreate: GroupVersionKind 'rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding' Get "https://E2EFAE75F73321626D55A1475F63EF0F.gr7.us-west-2.eks.amazonaws.com/api?timeout=32s": getting credentials: exec: exec: "aws-iam-authenticator": executable file not found in $PATH

  on .terraform/modules/sifchain/deploy/terraform/providers/aws/main.tf line 210, in resource "kustomization_resource" "ebs_csi_driver":
 210: resource "kustomization_resource" "ebs_csi_driver" {

this would appear to indicate that the Terraform runner hasn't installed aws-iam-authenticator.

Version:

Terraform: v0.13.5
Helm: version.BuildInfo{Version:"v3.3.4", GitCommit:"a61ce5633af99708171414353ed49547cf05013d", GitTreeState:"clean", GoVersion:"go1.14.9"}

Expected Behaviour:

Deploy a new cluster, onto AWS, without error.

Other Information:

N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.