export const erc20Abi = [
{
type: 'impl',
name: 'ERC20Impl',
interface_name: 'opus::mock::erc20::IERC20',
},
{
type: 'struct',
name: 'core::integer::u256',
members: [
{
name: 'low',
type: 'core::integer::u128',
},
{
name: 'high',
type: 'core::integer::u128',
},
],
},
{
type: 'enum',
name: 'core::bool',
variants: [
{
name: 'False',
type: '()',
},
{
name: 'True',
type: '()',
},
],
},
{
type: 'interface',
name: 'opus::mock::erc20::IERC20',
items: [
{
type: 'function',
name: 'name',
inputs: [],
outputs: [
{
type: 'core::felt252',
},
],
state_mutability: 'view',
},
{
type: 'function',
name: 'symbol',
inputs: [],
outputs: [
{
type: 'core::felt252',
},
],
state_mutability: 'view',
},
{
type: 'function',
name: 'decimals',
inputs: [],
outputs: [
{
type: 'core::integer::u8',
},
],
state_mutability: 'view',
},
{
type: 'function',
name: 'total_supply',
inputs: [],
outputs: [
{
type: 'core::integer::u256',
},
],
state_mutability: 'view',
},
{
type: 'function',
name: 'balance_of',
inputs: [
{
name: 'account',
type: 'core::starknet::contract_address::ContractAddress',
},
],
outputs: [
{
type: 'core::integer::u256',
},
],
state_mutability: 'view',
},
{
type: 'function',
name: 'allowance',
inputs: [
{
name: 'owner',
type: 'core::starknet::contract_address::ContractAddress',
},
{
name: 'spender',
type: 'core::starknet::contract_address::ContractAddress',
},
],
outputs: [
{
type: 'core::integer::u256',
},
],
state_mutability: 'view',
},
{
type: 'function',
name: 'transfer',
inputs: [
{
name: 'recipient',
type: 'core::starknet::contract_address::ContractAddress',
},
{
name: 'amount',
type: 'core::integer::u256',
},
],
outputs: [
{
type: 'core::bool',
},
],
state_mutability: 'external',
},
{
type: 'function',
name: 'transfer_from',
inputs: [
{
name: 'sender',
type: 'core::starknet::contract_address::ContractAddress',
},
{
name: 'recipient',
type: 'core::starknet::contract_address::ContractAddress',
},
{
name: 'amount',
type: 'core::integer::u256',
},
],
outputs: [
{
type: 'core::bool',
},
],
state_mutability: 'external',
},
{
type: 'function',
name: 'approve',
inputs: [
{
name: 'spender',
type: 'core::starknet::contract_address::ContractAddress',
},
{
name: 'amount',
type: 'core::integer::u256',
},
],
outputs: [
{
type: 'core::bool',
},
],
state_mutability: 'external',
},
],
},
{
type: 'constructor',
name: 'constructor',
inputs: [
{
name: 'name',
type: 'core::felt252',
},
{
name: 'symbol',
type: 'core::felt252',
},
{
name: 'decimals',
type: 'core::integer::u8',
},
{
name: 'initial_supply',
type: 'core::integer::u256',
},
{
name: 'recipient',
type: 'core::starknet::contract_address::ContractAddress',
},
],
},
{
type: 'event',
name: 'opus::mock::erc20::erc20::Transfer',
kind: 'struct',
members: [
{
name: 'from',
type: 'core::starknet::contract_address::ContractAddress',
kind: 'key',
},
{
name: 'to',
type: 'core::starknet::contract_address::ContractAddress',
kind: 'key',
},
{
name: 'value',
type: 'core::integer::u256',
kind: 'data',
},
],
},
{
type: 'event',
name: 'opus::mock::erc20::erc20::Approval',
kind: 'struct',
members: [
{
name: 'owner',
type: 'core::starknet::contract_address::ContractAddress',
kind: 'key',
},
{
name: 'spender',
type: 'core::starknet::contract_address::ContractAddress',
kind: 'key',
},
{
name: 'value',
type: 'core::integer::u256',
kind: 'data',
},
],
},
{
type: 'event',
name: 'opus::mock::erc20::erc20::Event',
kind: 'enum',
variants: [
{
name: 'Transfer',
type: 'opus::mock::erc20::erc20::Transfer',
kind: 'nested',
},
{
name: 'Approval',
type: 'opus::mock::erc20::erc20::Approval',
kind: 'nested',
},
],
},
] as const;