Skip to content

Commit

Permalink
fix merge conflict to main
Browse files Browse the repository at this point in the history
  • Loading branch information
lykalabrada committed Aug 30, 2023
2 parents 99736ac + ce3814e commit ad422c1
Show file tree
Hide file tree
Showing 37 changed files with 389 additions and 197 deletions.
7 changes: 4 additions & 3 deletions .github/scripts/release-ecr-tags.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ module.exports = ({ context }) => {
}

function getReleaseTag(context) {
const semver = context.payload.release.tag_name
if (semver.match(/^v[0-9]+\.[0-9]+\.[0-9]+$/) === null) {
const semver = require("semver");
const version = context.payload.release.tag_name;
if (!semver.valid(version)) {
throw new Error(`Release Violation: Provided version '${semver}' is not valid semver.`)
}
return semver.replace('v','')
return version.replace('v','')
}
9 changes: 5 additions & 4 deletions .github/scripts/release-tags.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,12 @@ function getDomain(context) {
}

function getReleaseTag(domain, app, context) {
const semver = context.payload.release.tag_name
if (semver.match(/^v[0-9]+\.[0-9]+\.[0-9]+$/) === null) {
throw new Error(`Release Violation: Provided version '${semver}' is not valid semver.`)
const semver = require("semver");
const version = context.payload.release.tag_name;
if (!semver.valid(version)) {
throw new Error(`Release Violation: Provided version '${version}' is not valid semver.`)
}
return `ghcr.io/${domain}/${app}:latest,ghcr.io/${domain}/${app}:${semver.replace('v','')}`
return `ghcr.io/${domain}/${app}:latest,ghcr.io/${domain}/${app}:${version.replace('v','')}`
}

function getMainTag(domain, app, { sha }) {
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/release-apps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
with:
node-version-file: '.nvmrc'

- run: npm ci

- name: Resolve Tags
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
id: tags
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/release-ecr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3

- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
with:
node-version-file: '.nvmrc'

- run: npm ci

- name: Set up QEMU
uses: docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 # v2.1.0

Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/release-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,15 @@ jobs:
with:
node-version-file: '.nvmrc'

- uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
- run: npm ci

- name: Resolve Version
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
id: version
with:
script: |
const semver = context.ref.replace('refs/tags/v', '')
if (semver.match(/^[0-9]+\.[0-9]+\.[0-9]+$/)) {
return semver
}
throw new Error('not semver')
script: return require('./.github/scripts/release-ecr-tags.js')({ context })
result-encoding: string

- run: npm ci
- run: npm run all:build
- run: npm run all:version ${{ steps.version.outputs.result }}

Expand Down
5 changes: 3 additions & 2 deletions apps/legacy-api/src/pipes/NetworkValidationPipe.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
PipeTransform
} from '@nestjs/common'

export type SupportedNetwork = 'mainnet' | 'testnet' | 'devnet' | 'regtest'
export type SupportedNetwork = 'mainnet' | 'testnet' | 'devnet' | 'regtest' | 'changi'

@Injectable()
export class NetworkValidationPipe implements PipeTransform {
Expand All @@ -14,7 +14,8 @@ export class NetworkValidationPipe implements PipeTransform {
'mainnet',
'testnet',
'devnet',
'regtest'
'regtest',
'changi'
])

transform (value: any, metadata: ArgumentMetadata): any {
Expand Down
3 changes: 3 additions & 0 deletions apps/playground-api/__tests__/bots/OracleBot.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ describe('oracle bot', () => {

const USDT = oracleData.tokenPrices.find(x => x.token === 'USDT')
expect(USDT?.amount).toBeDefined()

const MATIC = oracleData.tokenPrices.find(x => x.token === 'MATIC')
expect(MATIC?.amount).toBeDefined()
}, 200000)
})
})
105 changes: 67 additions & 38 deletions apps/playground-api/__tests__/modules/PlaygroundModule.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ afterAll(async () => {

it('should have pool pairs setup', async () => {
const pairs = await testing.container.call('listpoolpairs')
expect(Object.values(pairs).length).toBe(16)
expect(Object.values(pairs).length).toBe(17)
})

it('should have tokens setup', async () => {
const tokens = await testing.container.call('listtokens')
expect(Object.values(tokens).length).toBe(34)
expect(Object.values(tokens).length).toBe(36)
})

it('should have oracles setup', async () => {
Expand Down Expand Up @@ -56,13 +56,13 @@ it('should have loan tokens', async () => {

it('should have loan collateral tokens', async () => {
const results = await testing.container.call('listcollateraltokens')
expect(results.length).toBe(13)
expect(results.length).toBe(14)
})

it('should have gov set', async () => {
const gov = await testing.container.call('getgov', ['ATTRIBUTES'])
expect(gov).toStrictEqual({
ATTRIBUTES: expect.objectContaining({
ATTRIBUTES: {
'v0/consortium/1/members': {
'01': {
backingId: 'backing_address_btc_1_c',
Expand Down Expand Up @@ -103,9 +103,22 @@ it('should have gov set', async () => {
'v0/consortium/1/mint_limit_daily': '5',
'v0/consortium/2/mint_limit': '20',
'v0/consortium/2/mint_limit_daily': '10',
'v0/live/economy/evm/block/fee_burnt': 0,
'v0/live/economy/evm/block/fee_burnt_max': 0,
'v0/live/economy/evm/block/fee_burnt_max_hash': expect.any(String),
'v0/live/economy/evm/block/fee_burnt_min': 92233720368.54776,
'v0/live/economy/evm/block/fee_burnt_min_hash': '0000000000000000000000000000000000000000000000000000000000000000',
'v0/live/economy/evm/block/fee_priority': 0,
'v0/live/economy/evm/block/fee_priority_max': 0,
'v0/live/economy/evm/block/fee_priority_max_hash': expect.any(String),
'v0/live/economy/evm/block/fee_priority_min': 92233720368.54776,
'v0/live/economy/evm/block/fee_priority_min_hash': '0000000000000000000000000000000000000000000000000000000000000000',
'v0/live/economy/loans': expect.any(Array),
'v0/params/dfip2203/active': 'true',
'v0/params/dfip2203/reward_pct': '0.05',
'v0/params/dfip2203/block_period': '20',
'v0/params/dfip2203/fee_pct': '0.05',
'v0/params/dfip2203/reward_pct': '0.05',
'v0/params/feature/consortium': 'true',
'v0/params/feature/gov': 'true',
'v0/token/0/fixed_interval_price_id': 'DFI/USD',
'v0/token/0/loan_collateral_enabled': 'true',
Expand Down Expand Up @@ -143,49 +156,65 @@ it('should have gov set', async () => {
'v0/token/12/fixed_interval_price_id': 'EUROC/USD',
'v0/token/12/loan_collateral_enabled': 'true',
'v0/token/12/loan_collateral_factor': '1',
'v0/token/13/payback_dfi': 'true',
'v0/token/13/payback_dfi_fee_pct': '0.01',
'v0/token/13/loan_payback/1': 'true',
'v0/token/13/loan_payback/15': 'true',
'v0/token/13/loan_payback_fee_pct/1': '0.01',
'v0/token/13/loan_payback_fee_pct/15': '0.01',
'v0/token/13/fixed_interval_price_id': 'DUSD/USD',
'v0/token/13/fixed_interval_price_id': 'MATIC/USD',
'v0/token/13/loan_collateral_enabled': 'true',
'v0/token/13/loan_collateral_factor': '1.2',
'v0/token/13/loan_minting_enabled': 'true',
'v0/token/13/loan_minting_interest': '0',
'v0/token/13/loan_payback_collateral': 'true',
'v0/token/14/loan_payback/6': 'true',
'v0/token/14/loan_payback/13': 'true',
'v0/token/14/loan_payback_fee_pct/6': '0.01',
'v0/token/14/loan_payback_fee_pct/13': '0.01',
'v0/token/14/fixed_interval_price_id': 'TU10/USD',
'v0/token/13/loan_collateral_factor': '1',
'v0/token/14/payback_dfi': 'true',
'v0/token/14/payback_dfi_fee_pct': '0.01',
'v0/token/14/loan_payback/1': 'true',
'v0/token/14/loan_payback/16': 'true',
'v0/token/14/loan_payback_fee_pct/1': '0.01',
'v0/token/14/loan_payback_fee_pct/16': '0.01',
'v0/token/14/fixed_interval_price_id': 'DUSD/USD',
'v0/token/14/loan_collateral_enabled': 'true',
'v0/token/14/loan_collateral_factor': '1.2',
'v0/token/14/loan_minting_enabled': 'true',
'v0/token/14/loan_minting_interest': '1',
'v0/token/15/loan_payback/1': 'true',
'v0/token/15/loan_payback/13': 'true',
'v0/token/15/loan_payback_fee_pct/1': '0.01',
'v0/token/15/loan_payback_fee_pct/13': '0.01',
'v0/token/15/fixed_interval_price_id': 'TD10/USD',
'v0/token/14/loan_minting_interest': '0',
'v0/token/14/loan_payback_collateral': 'true',
'v0/token/15/loan_payback/6': 'true',
'v0/token/15/loan_payback/14': 'true',
'v0/token/15/loan_payback_fee_pct/6': '0.01',
'v0/token/15/loan_payback_fee_pct/14': '0.01',
'v0/token/15/fixed_interval_price_id': 'TU10/USD',
'v0/token/15/loan_minting_enabled': 'true',
'v0/token/15/loan_minting_interest': '1.5',
'v0/token/15/loan_minting_interest': '1',
'v0/token/16/loan_payback/1': 'true',
'v0/token/16/loan_payback/14': 'true',
'v0/token/16/loan_payback_fee_pct/1': '0.01',
'v0/token/16/loan_payback_fee_pct/14': '0.01',
'v0/token/16/fixed_interval_price_id': 'TS25/USD',
'v0/token/16/fixed_interval_price_id': 'TD10/USD',
'v0/token/16/loan_minting_enabled': 'true',
'v0/token/16/loan_minting_interest': '2',
'v0/token/17/payback_dfi': 'true',
'v0/token/17/payback_dfi_fee_pct': '0.01',
'v0/token/17/loan_payback/13': 'true',
'v0/token/16/loan_minting_interest': '1.5',
'v0/token/17/loan_payback/15': 'true',
'v0/token/17/loan_payback_fee_pct/13': '0.01',
'v0/token/17/loan_payback_fee_pct/15': '0.01',
'v0/token/17/fixed_interval_price_id': 'TR50/USD',
'v0/token/17/fixed_interval_price_id': 'TS25/USD',
'v0/token/17/loan_minting_enabled': 'true',
'v0/token/17/loan_minting_interest': '3',
'v0/token/17/loan_minting_interest': '2',
'v0/token/18/payback_dfi': 'true',
'v0/token/18/payback_dfi_fee_pct': '0.01',
'v0/token/18/loan_payback/14': 'true',
'v0/token/18/loan_payback/16': 'true',
'v0/token/18/loan_payback_fee_pct/14': '0.01',
'v0/token/18/loan_payback_fee_pct/16': '0.01',
'v0/token/18/fixed_interval_price_id': 'TR50/USD',
'v0/token/18/loan_minting_enabled': 'true',
'v0/token/18/loan_minting_interest': '3',
'v0/params/feature/icx': 'true',
'v0/params/feature/evm': 'true',
'v0/params/feature/icx': 'true'
})
'v0/params/feature/transferdomain': 'true',
'v0/params/foundation/members': [
'bcrt1qyrfrpadwgw7p5eh3e9h3jmu4kwlz4prx73cqny',
'bcrt1qyeuu9rvq8a67j86pzvh5897afdmdjpyankp4mu',
'msER9bmJjyEemRpQoS8YYVL21VyZZrSgQ7',
'mwsZw8nF7pKxWH8eoKL9tPxTpaFkz7QeLU'
],
'v0/transferdomain/dvm-evm/enabled': 'true',
'v0/transferdomain/dvm-evm/src-formats': ['bech32', 'p2pkh'],
'v0/transferdomain/dvm-evm/dest-formats': ['erc55'],
'v0/transferdomain/evm-dvm/src-formats': ['erc55'],
'v0/transferdomain/evm-dvm/auth-formats': ['bech32-erc55'],
'v0/transferdomain/evm-dvm/dest-formats': ['bech32', 'p2pkh']
}
})

async function waitForPriceValid (): Promise<void> {
Expand Down
6 changes: 6 additions & 0 deletions apps/playground-api/src/bots/OracleBot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,12 @@ export class OracleBot {
amount: new BigNumber(1),
change: new BigNumber(0),
direction: PriceDirection.STABLE
},
{
token: 'MATIC',
amount: new BigNumber(1),
change: new BigNumber(0),
direction: PriceDirection.STABLE
}
]

Expand Down
22 changes: 21 additions & 1 deletion apps/playground-api/src/setups/setup.dex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,22 @@ export class SetupDex extends PlaygroundSetup<PoolPairSetup> {
utxoToAccount: {
[PlaygroundSetup.address]: '2000@0'
}
},
{
symbol: 'MATIC-DFI',
create: {
tokenA: 'MATIC',
tokenB: 'DFI',
commission: 0,
status: true,
ownerAddress: PlaygroundSetup.address
},
add: {
'*': ['3000@DFI', '30000000@MATIC']
},
utxoToAccount: {
[PlaygroundSetup.address]: '3000@0'
}
}
]
}
Expand Down Expand Up @@ -269,13 +285,17 @@ export class SetupDex extends PlaygroundSetup<PoolPairSetup> {
const poolPairs = await this.client.poolpair.listPoolPairs()
const poolPairIds = Object.keys(poolPairs)

// apply `toFixed(8)` due to 1 / 16 = 0.0625 which is valid amount on setgov
// apply `toFixed(8)` due to 1 / 17 = 0.05882353 which is valid amount on setgov
const splits = Number(new BigNumber(1 / poolPairIds.length).toFixed(8))

const lpSplits: any = {}
for (const k in poolPairs) {
lpSplits[parseInt(k)] = splits
}
// to fix: LP_SPLITS: total = 0.9996 vs expected 100000000', code: -32600, method: setgov
// 0.05882353 * 17 !== 100000000
const lstKey = Object.keys(lpSplits)[0]
lpSplits[lstKey] = Number(new BigNumber(lpSplits[lstKey]).minus(0.00000001).toFixed(8))
await this.client.masternode.setGov({ LP_SPLITS: lpSplits })
await this.generate(1)
}
Expand Down
Loading

0 comments on commit ad422c1

Please sign in to comment.