@@ -87,6 +87,7 @@ impl BatchState {
8787pub struct Batcher {
8888 s3_client : S3Client ,
8989 s3_bucket_name : String ,
90+ storage_endpoint : String ,
9091 eth_ws_provider : Provider < Ws > ,
9192 payment_service : BatcherPaymentService ,
9293 batch_state : Mutex < BatchState > ,
@@ -102,10 +103,17 @@ pub struct Batcher {
102103impl Batcher {
103104 pub async fn new ( config_file : String ) -> Self {
104105 dotenv ( ) . ok ( ) ;
106+
107+ // https://docs.aws.amazon.com/sdk-for-rust/latest/dg/localstack.html
108+ let endpoint_url = env:: var ( "LOCALSTACK_ENDPOINT_URL" ) . ok ( ) ;
109+
105110 let s3_bucket_name =
106111 env:: var ( "AWS_BUCKET_NAME" ) . expect ( "AWS_BUCKET_NAME not found in environment" ) ;
107112
108- let s3_client = s3:: create_client ( ) . await ;
113+ let storage_endpoint =
114+ env:: var ( "STORAGE_ENDPOINT" ) . expect ( "STORAGE_ENDPOINT not found in environment" ) ;
115+
116+ let s3_client = s3:: create_client ( endpoint_url) . await ;
109117
110118 let config = ConfigFromYaml :: new ( config_file) ;
111119 let deployment_output =
@@ -147,6 +155,7 @@ impl Batcher {
147155 Self {
148156 s3_client,
149157 s3_bucket_name,
158+ storage_endpoint,
150159 eth_ws_provider,
151160 payment_service,
152161 batch_state : Mutex :: new ( BatchState :: new ( ) ) ,
@@ -593,7 +602,7 @@ impl Batcher {
593602 info ! ( "Batch sent to S3 with name: {}" , file_name) ;
594603
595604 info ! ( "Uploading batch to contract" ) ;
596- let batch_data_pointer = "https:// " . to_owned ( ) + & self . s3_bucket_name + "/" + & file_name;
605+ let batch_data_pointer: String = "" . to_owned ( ) + & self . storage_endpoint + "/" + & file_name;
597606
598607 let num_proofs_in_batch = leaves. len ( ) ;
599608
0 commit comments