From bdbdf98855662822351940481fb1ab54f43015c5 Mon Sep 17 00:00:00 2001 From: williamrusdyputra Date: Mon, 8 Sep 2025 12:51:31 +0700 Subject: [PATCH 1/3] feat: lock and unlock TRUF tokens --- .../migrations/erc20-bridge/001-actions.sql | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/internal/migrations/erc20-bridge/001-actions.sql b/internal/migrations/erc20-bridge/001-actions.sql index b80d1313f..3d28a9601 100644 --- a/internal/migrations/erc20-bridge/001-actions.sql +++ b/internal/migrations/erc20-bridge/001-actions.sql @@ -4,8 +4,24 @@ CREATE OR REPLACE ACTION sepolia_wallet_balance($wallet_address TEXT) PUBLIC VIE return $balance; }; +CREATE OR REPLACE ACTION sepolia_admin_lock_tokens($wallet_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { + sepolia_bridge.lock_admin($wallet_address, $amount) +} + +CREATE OR REPLACE ACTION sepolia_admin_unlock_tokens($to_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { + sepolia_bridge.unlock($to_address, $amount) +} + -- MAINNET CREATE OR REPLACE ACTION mainnet_wallet_balance($wallet_address TEXT) PUBLIC VIEW RETURNS (balance NUMERIC(78, 0)) { $balance := mainnet_bridge.balance($wallet_address); return $balance; -}; \ No newline at end of file +}; + +CREATE OR REPLACE ACTION mainnet_admin_lock_tokens($wallet_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { + mainnet_bridge.lock_admin($wallet_address, $amount) +} + +CREATE OR REPLACE ACTION mainnet_admin_unlock_tokens($to_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { + mainnet_bridge.unlock($to_address, $amount) +} \ No newline at end of file From bd57613ac3252217fb220a0757f07cee8025fddb Mon Sep 17 00:00:00 2001 From: williamrusdyputra Date: Tue, 9 Sep 2025 00:42:07 +0700 Subject: [PATCH 2/3] chore: update escrow contract --- internal/migrations/erc20-bridge/000-extension.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/migrations/erc20-bridge/000-extension.sql b/internal/migrations/erc20-bridge/000-extension.sql index 3e4f82127..04d1f307a 100644 --- a/internal/migrations/erc20-bridge/000-extension.sql +++ b/internal/migrations/erc20-bridge/000-extension.sql @@ -1,5 +1,5 @@ -- Only necessary to run on leader and validator nodes. -USE erc20_bridge { +USE erc20 { chain: 'sepolia', - escrow: '0x1c6D0d1666E3Ea3896c0A94018B03Ca117C15762', + escrow: '0x1B0A6795D45Bb5137DaFEeAb49e2c4e005d788D7' } AS sepolia_bridge; \ No newline at end of file From ad8939a62c9ed4cf922789b12f759cffcc9aad75 Mon Sep 17 00:00:00 2001 From: williamrusdyputra Date: Tue, 9 Sep 2025 11:02:44 +0700 Subject: [PATCH 3/3] chore: use text then convert to numeric on function --- .../migrations/erc20-bridge/000-extension.sql | 3 ++- .../migrations/erc20-bridge/001-actions.sql | 24 +++++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/internal/migrations/erc20-bridge/000-extension.sql b/internal/migrations/erc20-bridge/000-extension.sql index 04d1f307a..b70d50627 100644 --- a/internal/migrations/erc20-bridge/000-extension.sql +++ b/internal/migrations/erc20-bridge/000-extension.sql @@ -1,5 +1,6 @@ -- Only necessary to run on leader and validator nodes. + USE erc20 { chain: 'sepolia', - escrow: '0x1B0A6795D45Bb5137DaFEeAb49e2c4e005d788D7' + escrow: '0x2D4f435867066737bA1617ef024E073413909Ad2' } AS sepolia_bridge; \ No newline at end of file diff --git a/internal/migrations/erc20-bridge/001-actions.sql b/internal/migrations/erc20-bridge/001-actions.sql index 3d28a9601..7ed12bb93 100644 --- a/internal/migrations/erc20-bridge/001-actions.sql +++ b/internal/migrations/erc20-bridge/001-actions.sql @@ -4,13 +4,13 @@ CREATE OR REPLACE ACTION sepolia_wallet_balance($wallet_address TEXT) PUBLIC VIE return $balance; }; -CREATE OR REPLACE ACTION sepolia_admin_lock_tokens($wallet_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { - sepolia_bridge.lock_admin($wallet_address, $amount) -} +CREATE OR REPLACE ACTION sepolia_admin_lock_tokens($wallet_address TEXT, $amount TEXT) PUBLIC { + sepolia_bridge.lock_admin($wallet_address, $amount::NUMERIC(78, 0)); +}; -CREATE OR REPLACE ACTION sepolia_admin_unlock_tokens($to_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { - sepolia_bridge.unlock($to_address, $amount) -} +CREATE OR REPLACE ACTION sepolia_admin_unlock_tokens($to_address TEXT, $amount TEXT) PUBLIC { + sepolia_bridge.unlock($to_address, $amount::NUMERIC(78, 0)); +}; -- MAINNET CREATE OR REPLACE ACTION mainnet_wallet_balance($wallet_address TEXT) PUBLIC VIEW RETURNS (balance NUMERIC(78, 0)) { @@ -18,10 +18,10 @@ CREATE OR REPLACE ACTION mainnet_wallet_balance($wallet_address TEXT) PUBLIC VIE return $balance; }; -CREATE OR REPLACE ACTION mainnet_admin_lock_tokens($wallet_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { - mainnet_bridge.lock_admin($wallet_address, $amount) -} +CREATE OR REPLACE ACTION mainnet_admin_lock_tokens($wallet_address TEXT, $amount TEXT) PUBLIC { + mainnet_bridge.lock_admin($wallet_address, $amount::NUMERIC(78, 0)); +}; -CREATE OR REPLACE ACTION mainnet_admin_unlock_tokens($to_address TEXT, $amount NUMERIC(78, 0)) PUBLIC { - mainnet_bridge.unlock($to_address, $amount) -} \ No newline at end of file +CREATE OR REPLACE ACTION mainnet_admin_unlock_tokens($to_address TEXT, $amount TEXT) PUBLIC { + mainnet_bridge.unlock($to_address, $amount::NUMERIC(78, 0)); +}; \ No newline at end of file