import { Script, Contract } from '@alephium/web3';
import { default as createLocalTokenPool } from './artifacts/token_bridge_scripts/create_local_token_pool.ral.json';
import { default as createRemoteTokenPool } from './artifacts/token_bridge_scripts/create_remote_token_pool.ral.json';
import { default as updateRemoteTokenPool } from './artifacts/token_bridge_scripts/update_remote_token_pool.ral.json';
import { default as transferLocalToken } from './artifacts/token_bridge_scripts/transfer_local.ral.json';
import { default as transferRemoteToken } from './artifacts/token_bridge_scripts/transfer_remote.ral.json';
import { default as completeTransfer } from './artifacts/token_bridge_scripts/complete_transfer.ral.json';
import { default as attestToken } from './artifacts/token_bridge_scripts/attest_token.ral.json';
import { default as destroyUnexecutedSequences } from './artifacts/token_bridge_scripts/destroy_unexecuted_sequence_contracts.ral.json';
import { default as updateRefundAddress } from './artifacts/token_bridge_scripts/update_refund_address.ral.json';
import { default as upgradeContract } from './artifacts/token_bridge_scripts/upgrade_token_bridge_contract.ral.json';
import { default as updateMinimalConsistencyLevel } from './artifacts/token_bridge_scripts/update_minimal_consistency_level.ral.json';
import { default as deposit } from './artifacts/token_bridge_scripts/deposit.ral.json';
import { default as tokenBridgeForChain } from './artifacts/token_bridge/token_bridge_for_chain.ral.json';
import { default as unexecutedSequence } from './artifacts/sequence/unexecuted_sequence.ral.json';
import { default as remoteTokenPool } from './artifacts/token_bridge/remote_token_pool.ral.json';
import { default as registerChain } from './artifacts/token_bridge_scripts/register_chain.ral.json';
export function createLocalTokenPoolScript() {
    return Script.fromJson(createLocalTokenPool);
}
export function createRemoteTokenPoolScript() {
    return Script.fromJson(createRemoteTokenPool);
}
export function updateRemoteTokenPoolScript() {
    return Script.fromJson(updateRemoteTokenPool);
}
export function transferLocalTokenScript() {
    return Script.fromJson(transferLocalToken);
}
export function transferRemoteTokenScript() {
    return Script.fromJson(transferRemoteToken);
}
export function completeTransferScript() {
    return Script.fromJson(completeTransfer);
}
export function attestTokenScript() {
    return Script.fromJson(attestToken);
}
export function destroyUnexecutedSequencesScript() {
    return Script.fromJson(destroyUnexecutedSequences);
}
export function updateRefundAddressScript() {
    return Script.fromJson(updateRefundAddress);
}
export function upgradeTokenBridgeContractScript() {
    return Script.fromJson(upgradeContract);
}
export function updateMinimalConsistencyLevelScript() {
    return Script.fromJson(updateMinimalConsistencyLevel);
}
export function depositScript() {
    return Script.fromJson(deposit);
}
export function tokenBridgeForChainContract() {
    return Contract.fromJson(tokenBridgeForChain);
}
export function unexecutedSequenceContract() {
    return Contract.fromJson(unexecutedSequence);
}
export function remoteTokenPoolContract() {
    return Contract.fromJson(remoteTokenPool);
}
export function registerChainScript() {
    return Script.fromJson(registerChain);
}
