Skip to content

Commit d51879f

Browse files
authored
Merge pull request #204 from etherspot/develop
Release v4 24.04.2025
2 parents 75e69ad + fb1d25e commit d51879f

35 files changed

Lines changed: 2557 additions & 272 deletions

backend/.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ FEE_MARKUP=10
1111
HMAC_SECRET=""
1212
EPV_06=0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789,0x48e60BBb664aEfAc9f14aDB42e5FB5b4a119EB66
1313
EPV_07=0x0000000071727De22E5E9d8BAf0edAc6f37da032
14+
EPV_08=0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108
1415

1516
# postgres database connection
1617
DATABASE_URL="postgresql://arkauser:paymaster@localhost:5432/arkadev"

backend/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
# Changelog
2+
## [4.0.1] - 2025-04-22
3+
### Fixes
4+
- Removed 'entryPoint' params from `getAllCommonERC20PaymasterAddress`
5+
6+
## [4.0.0] - 2025-04-01
7+
### New
8+
- Added EPV08 Support
9+
10+
## [3.1.7] - 2025-04-16
11+
### New
12+
- Added support for multiTokenPaymaster deployed for EntryPoint v07
13+
214
## [3.1.6] - 2025-04-02
315
### Fixes
416
- Fixed bug in paymaster estimation for multiTokenPaymaster getERC20Quotes API

backend/config.json.default

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,5 +468,15 @@
468468
"thresholdValue": "0.016",
469469
"MultiTokenPaymasterOracleUsed": "chainlink",
470470
"entryPoint": "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
471+
},
472+
{
473+
"chainId": 11155111,
474+
"bundler": "https://testnet-rpc.etherspot.io/v3/11155111",
475+
"contracts": {
476+
"etherspotPaymasterAddress": "0xEd5371296A2030F53298a18a3Eb828cFc3dca73f"
477+
},
478+
"thresholdValue": "0.016",
479+
"MultiTokenPaymasterOracleUsed": "chainlink",
480+
"entryPoint": "0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108"
471481
}
472482
]
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
require('dotenv').config();
2+
const { DataTypes, TEXT } = require('sequelize');
3+
4+
async function up({ context: queryInterface }) {
5+
await queryInterface.addColumn(
6+
{schema: process.env.DATABASE_SCHEMA_NAME, tableName: 'api_keys'},
7+
'VERIFYING_PAYMASTERS_V3',
8+
{
9+
type: DataTypes.TEXT,
10+
allowNull: true
11+
}
12+
);
13+
}
14+
15+
async function down({ context: queryInterface }) {
16+
await queryInterface.removeColumn(
17+
{schema: process.env.DATABASE_SCHEMA_NAME, tableName: 'api_keys'},
18+
'VERIFYING_PAYMASTERS_V3',
19+
{
20+
type: DataTypes.TEXT,
21+
allowNull: true
22+
}
23+
);
24+
}
25+
26+
/** @type {import('sequelize-cli').Migration} */
27+
module.exports = {up, down};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
require('dotenv').config();
2+
const { DataTypes } = require('sequelize');
3+
4+
async function up({ context: queryInterface }) {
5+
await queryInterface.addColumn(
6+
{schema: process.env.DATABASE_SCHEMA_NAME, tableName: 'arka_whitelist'},
7+
'EP_VERSION',
8+
{
9+
type: DataTypes.STRING,
10+
allowNull: true
11+
}
12+
);
13+
}
14+
15+
async function down({ context: queryInterface }) {
16+
await queryInterface.removeColumn(
17+
{schema: process.env.DATABASE_SCHEMA_NAME, tableName: 'arka_whitelist'},
18+
'EP_VERSION',
19+
{
20+
type: DataTypes.STRING,
21+
allowNull: true
22+
}
23+
);
24+
}
25+
26+
/** @type {import('sequelize-cli').Migration} */
27+
module.exports = {up, down};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
require('dotenv').config();
2+
3+
async function up({ context: queryInterface }) {
4+
await queryInterface.sequelize.query(`ALTER TABLE IF EXISTS "${process.env.DATABASE_SCHEMA_NAME}".api_keys ADD COLUMN "MULTI_TOKEN_PAYMASTERS_V2" text default null`);
5+
}
6+
7+
async function down({ context: queryInterface }) {
8+
await queryInterface.sequelize.query(`ALTER TABLE IF EXISTS "${process.env.DATABASE_SCHEMA_NAME}".api_keys DROP COLUMN MULTI_TOKEN_PAYMASTERS_V2;`);
9+
}
10+
11+
module.exports = { up, down }
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
require('dotenv').config();
2+
3+
async function up({ context: queryInterface }) {
4+
await queryInterface.sequelize.query(`ALTER TABLE IF EXISTS "${process.env.DATABASE_SCHEMA_NAME}".multi_token_paymaster ADD COLUMN "EP_VERSION" text default 'EPV_06'`);
5+
}
6+
7+
async function down({ context: queryInterface }) {
8+
await queryInterface.sequelize.query(`ALTER TABLE "${process.env.DATABASE_SCHEMA_NAME}".multi_token_paymaster DROP COLUMN EP_VERSION;`);
9+
}
10+
11+
module.exports = { up, down }

backend/migrations/2025042200001-seed-data.cjs

Lines changed: 203 additions & 0 deletions
Large diffs are not rendered by default.

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "arka",
3-
"version": "3.1.6",
3+
"version": "4.0.1",
44
"description": "ARKA - (Albanian for Cashier's case) is the first open source Paymaster as a service software",
55
"type": "module",
66
"directories": {

0 commit comments

Comments
 (0)