1.3.33 • Published 9 months ago

@kiroboio/fct-plugins v1.3.33

Weekly downloads
-
License
LGPL-3.0-only
Repository
github
Last release
9 months ago

FCT PROVIDER

Uniswap Provider

import { ethers } from 'ethers'

import { FctProvider, UNISWAP_TYPE } from '@@kiroboio/fct-contracts/ki-eth-fct-provider'

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/infura_id')
export const uniswap = new FctProvider({
  library: provider,
  chainId: 1,
  account: 'wallet_address',
}).uniswap

export const testTokenPair = ({
  inputToken,
  outputToken,
}: {
  inputToken: {
    decimals: number
    address: string
  }
  outputToken: {
    decimals: number
    address: string
  }
}) => {
  it('Should return uniswap values for exact output', async () => {
    const amount = Math.floor(Math.random() * 1000).toString()
    const values = await uniswap.getSwapValues({
      input: {
        currency: inputToken,
      },
      output: {
        amount,
        currency: outputToken,
      },
    })

    expect(values.type).toEqual(UNISWAP_TYPE.EXACT_OUTPUT)

    expect(values.outputAmountFormatted).toEqual(amount)
    expect(values.inputAmountFormatted).toBeDefined()

    expect(values.state).toEqual('VALID')
    expect(values.swapCalls).toHaveLength(1)
  })

  it('Should return uniswap values for exact input', async () => {
    const amount = Math.floor(Math.random() * 1000).toString()
    const values = await uniswap.getSwapValues({
      input: {
        amount,
        currency: inputToken,
      },
      output: {
        currency: outputToken,
      },
    })

    expect(values.type).toEqual(UNISWAP_TYPE.EXACT_INPUT)

    expect(values.inputAmountFormatted).toEqual(amount)
    expect(values.outputAmountFormatted).toBeDefined()

    expect(values.state).toEqual('VALID')
    expect(values.swapCalls).toHaveLength(1)
  })

  it('Should return uniswap invalid trade for big output values', async () => {
    const amount = '1000000000'
    const values = await uniswap.getSwapValues({
      input: {
        currency: inputToken,
      },
      output: {
        amount,
        currency: outputToken,
      },
    })

    expect(values.type).toEqual(UNISWAP_TYPE.EXACT_OUTPUT)

    expect(values.outputAmountFormatted).toEqual(amount)
    expect(values.inputAmountFormatted).toBeUndefined()

    expect(values.state).toEqual('INVALID')
    expect(values.swapCalls).toHaveLength(0)
  })
}
1.3.31

9 months ago

1.3.32

9 months ago

1.3.30

9 months ago

1.3.33

9 months ago

1.3.28

9 months ago

1.3.29

9 months ago

1.3.26

9 months ago

1.3.27

9 months ago

1.3.20

10 months ago

1.3.21

10 months ago

1.3.24

9 months ago

1.3.25

9 months ago

1.3.22

9 months ago

1.3.23

9 months ago

1.3.16

10 months ago

1.3.13

10 months ago

1.3.14

10 months ago

1.3.15

10 months ago

1.3.12

10 months ago

1.3.11

10 months ago

1.3.10

11 months ago

1.3.9

11 months ago

1.2.81

11 months ago

1.2.82

11 months ago

1.2.80

11 months ago

1.2.85

11 months ago

1.2.86

11 months ago

1.2.83

11 months ago

1.2.84

11 months ago

1.2.89

11 months ago

1.2.87

11 months ago

1.2.88

11 months ago

1.2.90

11 months ago

1.2.91

11 months ago

1.2.96

11 months ago

1.2.94

11 months ago

1.2.95

11 months ago

1.2.98

11 months ago

1.2.99

11 months ago

1.2.60

12 months ago

1.2.64

12 months ago

1.2.61

12 months ago

1.2.62

12 months ago

1.2.67

12 months ago

1.2.68

12 months ago

1.2.65

12 months ago

1.2.66

12 months ago

1.2.69

12 months ago

1.2.70

12 months ago

1.2.71

12 months ago

1.2.74

11 months ago

1.2.75

11 months ago

1.2.72

12 months ago

1.2.73

12 months ago

1.2.78

11 months ago

1.2.79

11 months ago

1.2.76

11 months ago

1.2.77

11 months ago

1.2.41

1 year ago

1.2.42

1 year ago

1.2.40

1 year ago

1.2.45

1 year ago

1.2.46

1 year ago

1.2.44

1 year ago

1.2.49

1 year ago

1.2.47

1 year ago

1.2.48

1 year ago

1.2.52

1 year ago

1.2.53

1 year ago

1.2.50

1 year ago

1.2.51

1 year ago

1.2.56

1 year ago

1.2.54

1 year ago

1.2.55

1 year ago

1.2.58

12 months ago

1.2.59

12 months ago

1.2.18

1 year ago

1.2.19

1 year ago

1.3.7

11 months ago

1.3.6

11 months ago

1.3.5

11 months ago

1.3.4

11 months ago

1.3.2

11 months ago

1.3.1

11 months ago

1.3.0

11 months ago

1.2.20

1 year ago

1.2.23

1 year ago

1.2.24

1 year ago

1.2.21

1 year ago

1.2.22

1 year ago

1.2.27

1 year ago

1.2.28

1 year ago

1.2.25

1 year ago

1.2.26

1 year ago

1.2.29

1 year ago

1.2.30

1 year ago

1.2.31

1 year ago

1.2.34

1 year ago

1.2.35

1 year ago

1.2.32

1 year ago

1.2.33

1 year ago

1.2.38

1 year ago

1.2.39

1 year ago

1.2.36

1 year ago

1.2.37

1 year ago

1.2.16

1 year ago

1.2.17

1 year ago

1.2.15

1 year ago

1.3.8

11 months ago

1.2.13

1 year ago

1.2.14

1 year ago

1.2.12

1 year ago

1.2.10

1 year ago

1.2.11

1 year ago

1.2.8

1 year ago

1.2.7

1 year ago

1.2.9

1 year ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.676

1 year ago

1.1.674

1 year ago

1.1.673

1 year ago

1.1.672

1 year ago

1.1.671

1 year ago

1.1.670

1 year ago

1.1.669

1 year ago

1.1.667

1 year ago

1.1.666

1 year ago

1.1.665

1 year ago

1.1.664

1 year ago

1.1.663

1 year ago

1.1.661

1 year ago

1.1.660

1 year ago

1.1.658

1 year ago

1.1.653

1 year ago

1.1.652

1 year ago

1.1.650

1 year ago

1.1.649

1 year ago

1.1.648

1 year ago

1.1.647

1 year ago

1.1.646

1 year ago

1.1.645

1 year ago

1.1.644

1 year ago

1.1.643

1 year ago

1.1.642

1 year ago

1.1.639

1 year ago

1.1.638

1 year ago

1.1.641

1 year ago

1.1.640

1 year ago

1.1.636

1 year ago

1.1.635

1 year ago

1.1.633

1 year ago

1.1.629

1 year ago

1.1.628

1 year ago

1.1.627

1 year ago

1.1.632

1 year ago

1.1.631

1 year ago

1.1.630

1 year ago

1.1.626

1 year ago

1.1.625

1 year ago

1.1.624

1 year ago

1.1.623

1 year ago

1.1.622

1 year ago

1.1.621

1 year ago

1.1.617

1 year ago

1.1.620

1 year ago

1.1.614

1 year ago

1.1.613

1 year ago

1.1.612

1 year ago

1.1.610

1 year ago

1.1.609

1 year ago

1.1.608

1 year ago

1.1.606

1 year ago

1.1.605

1 year ago

1.1.604

1 year ago

1.1.603

1 year ago

1.1.602

1 year ago

1.1.601

1 year ago

1.1.599

1 year ago

1.1.598

1 year ago

1.1.600

1 year ago

1.1.597

1 year ago

1.1.596

1 year ago

1.1.595

1 year ago

1.1.594

1 year ago

1.1.593

1 year ago

1.1.592

1 year ago

1.1.591

1 year ago

1.1.590

1 year ago

1.1.589

1 year ago

1.1.588

1 year ago

1.1.583

1 year ago

1.1.587

1 year ago

1.1.582

1 year ago

1.1.581

1 year ago

1.1.579

1 year ago

1.1.578

1 year ago

1.1.576

1 year ago

1.1.574

1 year ago

1.1.573

1 year ago

1.1.572

1 year ago

1.1.571

1 year ago

1.1.570

1 year ago

1.1.569

2 years ago

1.1.565

2 years ago

1.1.562

2 years ago

1.1.564

2 years ago

1.1.563

2 years ago

1.1.561

2 years ago

1.1.560

2 years ago

1.1.559

2 years ago

1.1.558

2 years ago

1.1.557

2 years ago

1.1.556

2 years ago

1.1.555

2 years ago

1.1.554

2 years ago

1.1.553

2 years ago

1.1.551

2 years ago

1.1.549

2 years ago

1.1.545

2 years ago

1.1.540

2 years ago

1.1.544

2 years ago

1.1.543

2 years ago

1.1.542

2 years ago

1.1.541

2 years ago

1.1.539

2 years ago

1.1.538

2 years ago

1.1.537

2 years ago

1.1.536

2 years ago

1.1.533

2 years ago

1.1.532

2 years ago

1.1.529

2 years ago

1.1.528

2 years ago

1.1.531

2 years ago

1.1.526

2 years ago

1.1.523

2 years ago

1.1.521

2 years ago

1.1.520

2 years ago

1.1.463

2 years ago

1.1.462

2 years ago

1.1.341

2 years ago

1.1.461

2 years ago

1.1.340

2 years ago

1.1.349

2 years ago

1.1.469

2 years ago

1.1.348

2 years ago

1.1.468

2 years ago

1.1.347

2 years ago

1.1.467

2 years ago

1.1.346

2 years ago

1.1.466

2 years ago

1.1.345

2 years ago

1.1.465

2 years ago

1.1.344

2 years ago

1.1.464

2 years ago

1.1.343

2 years ago

1.1.329

2 years ago

1.1.331

2 years ago

1.1.451

2 years ago

1.1.330

2 years ago

1.1.450

2 years ago

1.1.339

2 years ago

1.1.459

2 years ago

1.1.338

2 years ago

1.1.458

2 years ago

1.1.457

2 years ago

1.1.336

2 years ago

1.1.456

2 years ago

1.1.335

2 years ago

1.1.455

2 years ago

1.1.334

2 years ago

1.1.454

2 years ago

1.1.333

2 years ago

1.1.453

2 years ago

1.1.332

2 years ago

1.1.485

2 years ago

1.1.364

2 years ago

1.1.484

2 years ago

1.1.363

2 years ago

1.1.483

2 years ago

1.1.362

2 years ago

1.1.482

2 years ago

1.1.361

2 years ago

1.1.360

2 years ago

1.1.489

2 years ago

1.1.488

2 years ago

1.1.487

2 years ago

1.1.486

2 years ago

1.1.365

2 years ago

1.1.474

2 years ago

1.1.353

2 years ago

1.1.473

2 years ago

1.1.352

2 years ago

1.1.472

2 years ago

1.1.351

2 years ago

1.1.471

2 years ago

1.1.350

2 years ago

1.1.470

2 years ago

1.1.359

2 years ago

1.1.479

2 years ago

1.1.358

2 years ago

1.1.478

2 years ago

1.1.357

2 years ago

1.1.477

2 years ago

1.1.356

2 years ago

1.1.476

2 years ago

1.1.354

2 years ago

1.1.427

2 years ago

1.1.306

2 years ago

1.1.305

2 years ago

1.1.425

2 years ago

1.1.304

2 years ago

1.1.424

2 years ago

1.1.303

2 years ago

1.1.423

2 years ago

1.1.302

2 years ago

1.1.301

2 years ago

1.1.421

2 years ago

1.1.300

2 years ago

1.1.420

2 years ago

1.1.409

2 years ago

1.1.408

2 years ago

1.1.406

2 years ago

1.1.416

2 years ago

1.1.414

2 years ago

1.1.413

2 years ago

1.1.412

2 years ago

1.1.411

2 years ago

1.1.410

2 years ago

1.1.319

2 years ago

1.1.439

2 years ago

1.1.318

2 years ago

1.1.441

2 years ago

1.1.440

2 years ago

1.1.449

2 years ago

1.1.328

2 years ago

1.1.448

2 years ago

1.1.327

2 years ago

1.1.326

2 years ago

1.1.325

2 years ago

1.1.445

2 years ago

1.1.324

2 years ago

1.1.323

2 years ago

1.1.443

2 years ago

1.1.322

2 years ago

1.1.321

2 years ago

1.1.430

2 years ago

1.1.438

2 years ago

1.1.317

2 years ago

1.1.437

2 years ago

1.1.436

2 years ago

1.1.315

2 years ago

1.1.435

2 years ago

1.1.314

2 years ago

1.1.313

2 years ago

1.1.433

2 years ago

1.1.312

2 years ago

1.1.311

2 years ago

1.1.431

2 years ago

1.1.504

2 years ago

1.1.503

2 years ago

1.1.502

2 years ago

1.1.501

2 years ago

1.1.290

2 years ago

1.1.298

2 years ago

1.1.297

2 years ago

1.1.296

2 years ago

1.1.295

2 years ago

1.1.294

2 years ago

1.1.291

2 years ago

1.1.299

2 years ago

1.1.519

2 years ago

1.1.518

2 years ago

1.1.517

2 years ago

1.1.516

2 years ago

1.1.405

2 years ago

1.1.403

2 years ago

1.1.401

2 years ago

1.1.400

2 years ago

1.1.509

2 years ago

1.1.508

2 years ago

1.1.507

2 years ago

1.1.506

2 years ago

1.1.505

2 years ago

1.1.515

2 years ago

1.1.514

2 years ago

1.1.513

2 years ago

1.1.510

2 years ago

1.1.386

2 years ago

1.1.385

2 years ago

1.1.384

2 years ago

1.1.383

2 years ago

1.1.382

2 years ago

1.1.381

2 years ago

1.1.380

2 years ago

1.1.389

2 years ago

1.1.268

2 years ago

1.1.388

2 years ago

1.1.387

2 years ago

1.1.496

2 years ago

1.1.375

2 years ago

1.1.495

2 years ago

1.1.374

2 years ago

1.1.494

2 years ago

1.1.493

2 years ago

1.1.492

2 years ago

1.1.491

2 years ago

1.1.379

2 years ago

1.1.499

2 years ago

1.1.378

2 years ago

1.1.377

2 years ago

1.1.497

2 years ago

1.1.286

2 years ago

1.1.285

2 years ago

1.1.284

2 years ago

1.1.283

2 years ago

1.1.281

2 years ago

1.1.289

2 years ago

1.1.288

2 years ago

1.1.397

2 years ago

1.1.276

2 years ago

1.1.396

2 years ago

1.1.275

2 years ago

1.1.395

2 years ago

1.1.274

2 years ago

1.1.394

2 years ago

1.1.273

2 years ago

1.1.393

2 years ago

1.1.271

2 years ago

1.1.270

2 years ago

1.1.279

2 years ago

1.1.399

2 years ago

1.1.278

2 years ago

1.1.398

2 years ago

1.1.277

2 years ago

1.1.265

2 years ago

1.1.263

2 years ago

1.1.262

2 years ago

1.1.261

2 years ago

1.1.260

2 years ago

1.1.259

2 years ago

1.1.258

2 years ago

1.1.257

2 years ago

1.1.256

2 years ago

1.1.255

2 years ago

1.1.219

2 years ago

1.1.180

2 years ago

1.1.221

2 years ago

1.1.188

2 years ago

1.1.220

2 years ago

1.1.187

2 years ago

1.1.186

2 years ago

1.1.185

2 years ago

1.1.184

2 years ago

1.1.183

2 years ago

1.1.229

2 years ago

1.1.228

2 years ago

1.1.227

2 years ago

1.1.224

2 years ago

1.1.223

2 years ago

1.1.222

2 years ago

1.1.189

2 years ago

1.1.209

2 years ago

1.1.208

2 years ago

1.1.210

2 years ago

1.1.177

2 years ago

1.1.253

2 years ago

1.1.175

2 years ago

1.1.251

2 years ago

1.1.250

2 years ago

1.1.173

2 years ago

1.1.172

2 years ago

1.1.171

2 years ago

1.1.170

2 years ago

1.1.218

2 years ago

1.1.216

2 years ago

1.1.215

2 years ago

1.1.214

2 years ago

1.1.213

2 years ago

1.1.212

2 years ago

1.1.179

2 years ago

1.1.211

2 years ago

1.1.243

2 years ago

1.1.166

2 years ago

1.1.242

2 years ago

1.1.165

2 years ago

1.1.241

2 years ago

1.1.164

2 years ago

1.1.162

2 years ago

1.1.161

2 years ago

1.1.207

2 years ago

1.1.206

2 years ago

1.1.205

2 years ago

1.1.247

2 years ago

1.1.203

2 years ago

1.1.246

2 years ago

1.1.202

2 years ago

1.1.169

2 years ago

1.1.245

2 years ago

1.1.167

2 years ago

1.1.191

2 years ago

1.1.190

2 years ago

1.1.196

2 years ago

1.1.195

2 years ago

1.1.194

2 years ago

1.1.193

2 years ago

1.1.192

2 years ago

1.1.237

2 years ago

1.1.236

2 years ago

1.1.159

2 years ago

1.1.235

2 years ago

1.1.234

2 years ago

1.1.157

2 years ago

1.1.233

2 years ago

1.1.156

2 years ago

1.1.153

2 years ago

1.1.152

2 years ago

1.1.151

2 years ago