Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
swap-v2-sdk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
LuckySwap
swap-v2-sdk
Commits
ed3a0451
Unverified
Commit
ed3a0451
authored
Jun 17, 2019
by
Noah Zinsmeister
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shift around some functions and types
parent
0263b6dd
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
23 deletions
+24
-23
_utils.ts
src/__tests__/_utils.ts
+6
-1
data.ts
src/__tests__/data.ts
+1
-5
index.ts
src/_utils/index.ts
+10
-2
market.ts
src/computation/market.ts
+1
-2
index.ts
src/data/index.ts
+4
-11
types.ts
src/types.ts
+2
-2
No files found.
src/__tests__/_utils.ts
View file @
ed3a0451
...
@@ -2,7 +2,8 @@ import BigNumber from 'bignumber.js'
...
@@ -2,7 +2,8 @@ import BigNumber from 'bignumber.js'
import
{
ethers
}
from
'
ethers
'
import
{
ethers
}
from
'
ethers
'
import
{
BigNumberish
}
from
'
../types
'
import
{
BigNumberish
}
from
'
../types
'
import
{
normalizeBigNumberish
}
from
'
../_utils
'
import
{
ETH
}
from
'
../constants
'
import
{
normalizeBigNumberish
,
getEthToken
}
from
'
../_utils
'
interface
TestCase
{
interface
TestCase
{
input
:
BigNumberish
input
:
BigNumberish
...
@@ -88,3 +89,7 @@ describe('normalizeBigNumberish', (): void => {
...
@@ -88,3 +89,7 @@ describe('normalizeBigNumberish', (): void => {
testFailures
(
expectedFailures
)
testFailures
(
expectedFailures
)
})
})
})
})
test
(
'
getEthToken
'
,
():
void
=>
{
expect
(
getEthToken
(
1
).
address
).
toEqual
(
ETH
)
})
src/__tests__/data.ts
View file @
ed3a0451
import
{
Token
,
TokenReservesNormalized
}
from
'
../types
'
import
{
Token
,
TokenReservesNormalized
}
from
'
../types
'
import
{
ETH
as
_ETH
,
_CHAIN_ID_NAME
}
from
'
../constants
'
import
{
ETH
as
_ETH
,
_CHAIN_ID_NAME
}
from
'
../constants
'
import
{
getTokenReserves
,
getEthToken
}
from
'
../data
'
import
{
getTokenReserves
}
from
'
../data
'
import
{
ethers
}
from
'
ethers
'
import
{
ethers
}
from
'
ethers
'
const
ETH
:
Token
=
{
const
ETH
:
Token
=
{
...
@@ -44,7 +44,3 @@ describe('getTokenReserves', (): void => {
...
@@ -44,7 +44,3 @@ describe('getTokenReserves', (): void => {
done
()
done
()
})
})
})
})
test
(
'
getEthToken
'
,
():
void
=>
{
expect
(
getEthToken
(
1
)).
toEqual
(
ETH
)
})
src/_utils/index.ts
View file @
ed3a0451
import
BigNumber
from
'
bignumber.js
'
import
BigNumber
from
'
bignumber.js
'
import
{
ethers
}
from
'
ethers
'
import
{
ethers
}
from
'
ethers
'
import
{
BigNumberish
}
from
'
../types
'
import
{
BigNumberish
,
Token
}
from
'
../types
'
import
{
_0
,
_MAX_UINT8
,
_MAX_UINT256
}
from
'
../constants
'
import
{
_0
,
_MAX_UINT8
,
_MAX_UINT256
,
ETH
}
from
'
../constants
'
function
ensureUInt8
(
number
:
number
):
void
{
function
ensureUInt8
(
number
:
number
):
void
{
if
(
!
Number
.
isInteger
(
number
)
||
number
<
0
||
number
>
_MAX_UINT8
)
{
if
(
!
Number
.
isInteger
(
number
)
||
number
<
0
||
number
>
_MAX_UINT8
)
{
...
@@ -47,3 +47,11 @@ export function normalizeBigNumberish(bigNumberish: BigNumberish): BigNumber {
...
@@ -47,3 +47,11 @@ export function normalizeBigNumberish(bigNumberish: BigNumberish): BigNumber {
export
function
normalizeAddress
(
address
:
string
):
string
{
export
function
normalizeAddress
(
address
:
string
):
string
{
return
ethers
.
utils
.
getAddress
(
address
.
toLowerCase
())
return
ethers
.
utils
.
getAddress
(
address
.
toLowerCase
())
}
}
export
function
getEthToken
(
chainId
?:
number
):
Token
{
return
{
...(
chainId
?
{
chainId
}
:
{}),
address
:
ETH
,
decimals
:
18
}
}
src/computation/market.ts
View file @
ed3a0451
...
@@ -17,8 +17,7 @@ import {
...
@@ -17,8 +17,7 @@ import {
_AnyRate
_AnyRate
}
from
'
../types
'
}
from
'
../types
'
import
{
TRADE_TYPE
}
from
'
../constants
'
import
{
TRADE_TYPE
}
from
'
../constants
'
import
{
normalizeBigNumberish
,
ensureAllUInt8
,
ensureAllUInt256
}
from
'
../_utils
'
import
{
normalizeBigNumberish
,
ensureAllUInt8
,
ensureAllUInt256
,
getEthToken
}
from
'
../_utils
'
import
{
getEthToken
}
from
'
../data
'
import
{
calculateDecimalRate
}
from
'
./_utils
'
import
{
calculateDecimalRate
}
from
'
./_utils
'
function
normalizeTokenAmount
(
tokenAmount
:
TokenAmount
):
TokenAmountNormalized
{
function
normalizeTokenAmount
(
tokenAmount
:
TokenAmount
):
TokenAmountNormalized
{
...
...
src/data/index.ts
View file @
ed3a0451
...
@@ -2,7 +2,7 @@ import { ethers } from 'ethers'
...
@@ -2,7 +2,7 @@ import { ethers } from 'ethers'
import
{
ChainIdOrProvider
,
isChainId
,
Token
,
TokenReservesNormalized
,
_ChainIdAndProvider
}
from
'
../types
'
import
{
ChainIdOrProvider
,
isChainId
,
Token
,
TokenReservesNormalized
,
_ChainIdAndProvider
}
from
'
../types
'
import
{
ETH
,
SUPPORTED_CHAIN_ID
,
FACTORY_ABI
,
FACTORY_ADDRESS
,
_CHAIN_ID_NAME
,
_ERC20_ABI
}
from
'
../constants
'
import
{
ETH
,
SUPPORTED_CHAIN_ID
,
FACTORY_ABI
,
FACTORY_ADDRESS
,
_CHAIN_ID_NAME
,
_ERC20_ABI
}
from
'
../constants
'
import
{
normalizeBigNumberish
,
normalizeAddress
}
from
'
../_utils
'
import
{
normalizeBigNumberish
,
normalizeAddress
,
getEthToken
}
from
'
../_utils
'
function
getContract
(
address
:
string
,
ABI
:
string
,
provider
:
ethers
.
providers
.
BaseProvider
):
ethers
.
Contract
{
function
getContract
(
address
:
string
,
ABI
:
string
,
provider
:
ethers
.
providers
.
BaseProvider
):
ethers
.
Contract
{
return
new
ethers
.
Contract
(
address
,
ABI
,
provider
)
return
new
ethers
.
Contract
(
address
,
ABI
,
provider
)
...
@@ -18,7 +18,8 @@ async function getChainIdAndProvider(chainIdOrProvider: ChainIdOrProvider): Prom
...
@@ -18,7 +18,8 @@ async function getChainIdAndProvider(chainIdOrProvider: ChainIdOrProvider): Prom
}
}
// if a provider is provided, fetch the chainId from it
// if a provider is provided, fetch the chainId from it
else
{
else
{
const
{
chainId
}:
ethers
.
utils
.
Network
=
await
chainIdOrProvider
.
getNetwork
()
const
provider
:
ethers
.
providers
.
Web3Provider
=
new
ethers
.
providers
.
Web3Provider
(
chainIdOrProvider
)
const
{
chainId
}:
ethers
.
utils
.
Network
=
await
provider
.
getNetwork
()
if
(
!
(
chainId
in
SUPPORTED_CHAIN_ID
))
{
if
(
!
(
chainId
in
SUPPORTED_CHAIN_ID
))
{
throw
Error
(
`chainId
${
chainId
}
is not valid.`
)
throw
Error
(
`chainId
${
chainId
}
is not valid.`
)
...
@@ -26,19 +27,11 @@ async function getChainIdAndProvider(chainIdOrProvider: ChainIdOrProvider): Prom
...
@@ -26,19 +27,11 @@ async function getChainIdAndProvider(chainIdOrProvider: ChainIdOrProvider): Prom
return
{
return
{
chainId
,
chainId
,
provider
:
chainIdOrProvider
provider
}
}
}
}
}
}
export
function
getEthToken
(
chainId
?:
number
):
Token
{
return
{
...(
chainId
?
{
chainId
}
:
{}),
address
:
ETH
,
decimals
:
18
}
}
async
function
getToken
(
tokenAddress
:
string
,
chainIdAndProvider
:
_ChainIdAndProvider
):
Promise
<
Token
>
{
async
function
getToken
(
tokenAddress
:
string
,
chainIdAndProvider
:
_ChainIdAndProvider
):
Promise
<
Token
>
{
if
(
tokenAddress
===
ETH
)
{
if
(
tokenAddress
===
ETH
)
{
return
getEthToken
(
chainIdAndProvider
.
chainId
)
return
getEthToken
(
chainIdAndProvider
.
chainId
)
...
...
src/types.ts
View file @
ed3a0451
...
@@ -6,7 +6,7 @@ import { SUPPORTED_CHAIN_ID, TRADE_TYPE, TRADE_EXACT, FIXED_UNDERFLOW_BEHAVIOR }
...
@@ -6,7 +6,7 @@ import { SUPPORTED_CHAIN_ID, TRADE_TYPE, TRADE_EXACT, FIXED_UNDERFLOW_BEHAVIOR }
export
type
BigNumberish
=
BigNumber
|
ethers
.
utils
.
BigNumber
|
string
|
number
export
type
BigNumberish
=
BigNumber
|
ethers
.
utils
.
BigNumber
|
string
|
number
//// types for on-chain, submitted, and normalized data
//// types for on-chain, submitted, and normalized data
export
type
ChainIdOrProvider
=
SUPPORTED_CHAIN_ID
|
ethers
.
providers
.
BaseProvider
export
type
ChainIdOrProvider
=
SUPPORTED_CHAIN_ID
|
ethers
.
providers
.
AsyncSendable
// type guard for ChainIdOrProvider
// type guard for ChainIdOrProvider
export
function
isChainId
(
chainIdOrProvider
:
ChainIdOrProvider
):
chainIdOrProvider
is
SUPPORTED_CHAIN_ID
{
export
function
isChainId
(
chainIdOrProvider
:
ChainIdOrProvider
):
chainIdOrProvider
is
SUPPORTED_CHAIN_ID
{
...
@@ -138,7 +138,7 @@ export interface FormatFixedOptions {
...
@@ -138,7 +138,7 @@ export interface FormatFixedOptions {
//// internal-only interfaces
//// internal-only interfaces
export
interface
_ChainIdAndProvider
{
export
interface
_ChainIdAndProvider
{
chainId
:
number
chainId
:
number
provider
:
ethers
.
providers
.
BaseProvider
provider
:
ethers
.
providers
.
Web3Provider
|
ethers
.
providers
.
BaseProvider
}
}
export
interface
_ParsedOptionalReserves
{
export
interface
_ParsedOptionalReserves
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment