Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions build-and-push.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/bin/bash
set -e
# Check for environment argument
if [[ "$1" != "dev" && "$1" != "prod" ]]; then
echo "Error: Please specify environment (dev or prod) as first argument"
echo "Usage: $0 <dev|prod>"
exit 1
fi

if [[ -z "$2" ]]; then
if [[ "$1" == "prod" ]]; then
echo "Error: Second argument is not provided"
echo "Usage: $0 prod <tag>"
exit 1
else
TAG="latest"
fi
else
TAG="$2"
fi

# Set account based on environment
if [[ "$1" == "dev" ]]; then
ACCOUNT="371717752603" # sandbox account
else
ACCOUNT="001138754299" # prod account
fi

# Set platform arguments if on ARM
platform=''
platformarg=''
if [[ "$(uname -p)" == "arm" ]]; then
platform='--platform'
platformarg='linux/amd64'
fi

# Login to ECR
set -x
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin ${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com

# Build and push each image
image_name="eco-solver"
dockerfile="./Dockerfile"
build_context="."

echo "Building ${image_name} using ${dockerfile}..."

# Build the image with correct context
docker build "${build_context}" -f "${dockerfile}" \
-t "${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/${image_name}:latest" \
${platform:+"$platform=$platformarg"}

# Tag with git tag if available
if [[ "${TAG}" != "latest" ]]; then
docker tag "${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/${image_name}:latest" \
"${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/${image_name}:${TAG}"
docker push "${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/${image_name}:${TAG}"
fi


# Push latest tag
docker push "${ACCOUNT}.dkr.ecr.us-west-2.amazonaws.com/${image_name}:latest"
24 changes: 14 additions & 10 deletions config/default.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
export default {
aws: [
{
region: 'us-east-2',
secretID: 'eco-solver-secrets-dev',
region: 'us-west-2',
secretID: 'eco-solver-secrets-prod-test',
},
{
region: 'us-east-2',
secretID: 'eco-solver-configs-dev',
region: 'us-west-2',
secretID: 'eco-solver-configs-prod-test',
},
{
region: 'us-east-2',
secretID: 'eco-solver-whitelist-dev',
region: 'us-west-2',
secretID: 'eco-solver-whitelist-prod-test',
},
],
cache: {
Expand Down Expand Up @@ -127,9 +127,6 @@ export default {
defaultBlockTime: 2,
},

indexer: {
url: 'https://indexer.eco.com',
},
withdraws: {
chunkSize: 20,
intervalDuration: 360_000,
Expand Down Expand Up @@ -186,9 +183,16 @@ export default {
useHyperlaneDefaultHook: false,
},

warpRoutes: {},
safe: {},
crowdLiquidity: {},
fulfillment: {
run: 'single',
},

externalAPIs: {},
logger: {
usePino: true,
usePino: false,
pinoConfig: {
pinoHttp: {
level: 'debug',
Expand Down
82 changes: 18 additions & 64 deletions config/development.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@ export default {
server: {
url: 'http://localhost:3000',
},
aws: [
{
region: 'us-west-2',
secretID: 'eco-solver-secrets-prod',
},
{
region: 'us-west-2',
secretID: 'eco-solver-configs-prod',
},
{
region: 'us-west-2',
secretID: 'eco-solver-configs-chains-prod',
},
{
region: 'us-west-2',
secretID: 'eco-solver-whitelist-prod',
},
],

logger: {
usePino: false,
Expand Down Expand Up @@ -32,70 +50,6 @@ export default {
},
},
},
intentSources: [
{
network: 'opt-sepolia',
chainID: 11155420,
tokens: [
'0x5fd84259d66Cd46123540766Be93DFE6D43130D7', //usdc
'0x8327Db9040811545C13331A453aBe9C7AA1aCDf8',
'0x368d7C52B0F62228907C133204605a5B11A1dB6d',
'0x00D2d1162c689179e8bA7a3b936f80A010A0b5CF',
'0x3328C29843F7c7dfF7381aF54A03C7423431Eaa4',
'0xd3F4Bef596a04e2be4fbeB17Dd70f02F717c5a6c',
'0x93551e3F61F8E3EE73DDc096BddbC1ADc52f5A3a',
],
},
{
network: 'base-sepolia',
chainID: 84532,
tokens: [
'0xAb1D243b07e99C91dE9E4B80DFc2B07a8332A2f7', //usdc
'0x8bDa9F5C33FBCB04Ea176ea5Bc1f5102e934257f',
'0x93551e3F61F8E3EE73DDc096BddbC1ADc52f5A3a',
],
},
],
solvers: {
//base sepolia
84532: {
targets: {
//base sepolia USDC
'0xAb1D243b07e99C91dE9E4B80DFc2B07a8332A2f7': {
contractType: 'erc20',
selectors: ['transfer(address,uint256)'],
minBalance: 1000,
},
'0x8bDa9F5C33FBCB04Ea176ea5Bc1f5102e934257f': {
contractType: 'erc20',
selectors: ['transfer(address,uint256)'],
minBalance: 1000,
},
'0x93551e3F61F8E3EE73DDc096BddbC1ADc52f5A3a': {
contractType: 'erc20',
selectors: ['transfer(address,uint256)'],
minBalance: 1000,
},
},
network: 'base-sepolia',
chainID: 84532,
averageBlockTime: 2,
},
//op sepolia
11155420: {
targets: {
//op sepolia USDC
'0x5fd84259d66Cd46123540766Be93DFE6D43130D7': {
contractType: 'erc20',
selectors: ['transfer(address,uint256)'],
minBalance: 1000,
},
},
network: 'opt-sepolia',
chainID: 11155420,
averageBlockTime: 2,
},
},

solverRegistrationConfig: {
apiOptions: {
Expand Down
8 changes: 4 additions & 4 deletions config/preproduction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ export default {

aws: [
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-secrets-pre-prod',
},
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-configs-pre-prod',
},
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-configs-chains-preprod',
},
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-whitelist-pre-prod',
},
],
Expand Down
18 changes: 4 additions & 14 deletions config/production.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,21 @@
export default {
server: {
url: 'https://solver.prod.bend.eco',
},

aws: [
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-secrets-prod',
},
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-configs-prod',
},
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-configs-chains-prod',
},
{
region: 'us-east-2',
region: 'us-west-2',
secretID: 'eco-solver-whitelist-prod',
},
],
//don't add anything else here

solverRegistrationConfig: {
apiOptions: {
baseUrl: 'https://quotes.eco.com',
},
},
}
22 changes: 6 additions & 16 deletions config/staging.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,17 @@
export default {
server: {
url: 'https://solver.staging.bend.eco',
},

aws: [
{
region: 'us-east-2',
secretID: 'eco-solver-secrets-staging',
region: 'us-west-2',
secretID: 'eco-solver-secrets-prod',
},
{
region: 'us-east-2',
secretID: 'eco-solver-configs-staging',
region: 'us-west-2',
secretID: 'eco-solver-configs-prod',
},
{
region: 'us-east-2',
secretID: 'eco-solver-whitelist-staging',
region: 'us-west-2',
secretID: 'eco-solver-whitelist-prod',
},
],
//don't add anything else here

solverRegistrationConfig: {
apiOptions: {
baseUrl: 'https://quotes-preprod.eco.com',
},
},
}
2 changes: 1 addition & 1 deletion config/test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default {
aws: {
region: 'test-us-east-2',
region: 'test-us-west-2',
secretID: 'test-eco-solver-secrets',
},
test: 'hi',
Expand Down
Loading