opnet
Version:
The perfect library for building Bitcoin-based applications.
292 lines (279 loc) • 6.62 kB
text/typescript
import { ABIDataTypes } from '@btc-vision/transaction';
import { BitcoinAbiTypes } from '../../../BitcoinAbiTypes.js';
import { BitcoinInterfaceAbi } from '../../../interfaces/BitcoinInterfaceAbi.js';
import { OP_20_ABI } from '../opnet/OP_20_ABI.js';
export const MotoSwapPoolEvents: BitcoinInterfaceAbi = [
{
name: 'LiquidityRemoved',
values: [
{
name: 'sender',
type: ABIDataTypes.ADDRESS,
},
{
name: 'amount0',
type: ABIDataTypes.UINT256,
},
{
name: 'amount1',
type: ABIDataTypes.UINT256,
},
{ name: 'to', type: ABIDataTypes.ADDRESS },
],
type: BitcoinAbiTypes.Event,
},
{
name: 'LiquidityAdded',
values: [
{
name: 'sender',
type: ABIDataTypes.ADDRESS,
},
{
name: 'amount0',
type: ABIDataTypes.UINT256,
},
{
name: 'amount1',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Event,
},
{
name: 'Swapped',
values: [
{
name: 'sender',
type: ABIDataTypes.ADDRESS,
},
{
name: 'amount0In',
type: ABIDataTypes.UINT256,
},
{
name: 'amount1In',
type: ABIDataTypes.UINT256,
},
{
name: 'amount0Out',
type: ABIDataTypes.UINT256,
},
{
name: 'amount1Out',
type: ABIDataTypes.UINT256,
},
{
name: 'to',
type: ABIDataTypes.ADDRESS,
},
],
type: BitcoinAbiTypes.Event,
},
{
name: 'Synced',
values: [
{
name: 'reserve0',
type: ABIDataTypes.UINT256,
},
{
name: 'reserve1',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Event,
},
];
export const MotoswapPoolAbi: BitcoinInterfaceAbi = [
{
name: 'initialize',
inputs: [
{
name: 'token0',
type: ABIDataTypes.ADDRESS,
},
{
name: 'token1',
type: ABIDataTypes.ADDRESS,
},
],
outputs: [],
type: BitcoinAbiTypes.Function,
},
{
name: 'swap',
inputs: [
{
name: 'amount0Out',
type: ABIDataTypes.UINT256,
},
{
name: 'amount1Out',
type: ABIDataTypes.UINT256,
},
{
name: 'to',
type: ABIDataTypes.ADDRESS,
},
{
name: 'data',
type: ABIDataTypes.BYTES,
},
],
outputs: [],
type: BitcoinAbiTypes.Function,
},
{
name: 'skim',
inputs: [],
outputs: [],
type: BitcoinAbiTypes.Function,
},
{
name: 'getReserves',
constant: true,
inputs: [],
outputs: [
{
name: 'reserve0',
type: ABIDataTypes.UINT256,
},
{
name: 'reserve1',
type: ABIDataTypes.UINT256,
},
{
name: 'blockTimestampLast',
type: ABIDataTypes.UINT64,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'token0',
constant: true,
inputs: [],
outputs: [
{
name: 'token0',
type: ABIDataTypes.ADDRESS,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'token1',
constant: true,
inputs: [],
outputs: [
{
name: 'token1',
type: ABIDataTypes.ADDRESS,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'price0CumulativeLast',
constant: true,
inputs: [],
outputs: [
{
name: 'price0CumulativeLast',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'price1CumulativeLast',
constant: true,
inputs: [],
outputs: [
{
name: 'price1CumulativeLast',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'kLast',
constant: true,
inputs: [],
outputs: [
{
name: 'kLast',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'blockTimestampLast',
constant: true,
inputs: [],
outputs: [
{
name: 'blockTimestampLast',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'sync',
inputs: [],
outputs: [],
type: BitcoinAbiTypes.Function,
},
{
name: 'MINIMUM_LIQUIDITY',
constant: true,
inputs: [],
outputs: [
{
name: 'MINIMUM_LIQUIDITY',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Function,
},
// Overwrites
{
name: 'mint',
inputs: [],
outputs: [
{
name: 'to',
type: ABIDataTypes.ADDRESS,
},
],
type: BitcoinAbiTypes.Function,
},
{
name: 'burn',
inputs: [
{
name: 'to',
type: ABIDataTypes.ADDRESS,
},
],
outputs: [
{
name: 'amount0',
type: ABIDataTypes.UINT256,
},
{
name: 'amount1',
type: ABIDataTypes.UINT256,
},
],
type: BitcoinAbiTypes.Function,
},
// OP_20
...OP_20_ABI,
// EVENTS
...MotoSwapPoolEvents,
];