Skip to content

Commit

Permalink
add algo Erc1155 (#192)
Browse files Browse the repository at this point in the history
* add algo Erc1155

* added docs and fixed nft for algorand

Co-authored-by: jay_sun <[email protected]>
  • Loading branch information
JeyDev310 and jay_sun authored Oct 29, 2021
1 parent 27b7988 commit fc606b4
Show file tree
Hide file tree
Showing 6 changed files with 331 additions and 115 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tatumio/tatum",
"version": "1.29.5",
"version": "1.29.6",
"description": "Tatum API client allows browsers and Node.js clients to interact with Tatum API.",
"main": "dist/src/index.js",
"repository": "https://github.com/tatumio/tatum-js",
Expand Down
2 changes: 1 addition & 1 deletion src/model/request/BurnMultiToken.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export class BurnMultiToken extends PrivateKeyOrSignatureId {
public contractAddress: string;

@IsNotEmpty()
@IsIn([Currency.BSC, Currency.ETH, Currency.CELO, Currency.ONE, Currency.MATIC])
@IsIn([Currency.BSC, Currency.ETH, Currency.CELO, Currency.ONE, Currency.MATIC, Currency.ALGO])
public chain: Currency;

@Min(0)
Expand Down
8 changes: 6 additions & 2 deletions src/model/request/MintMultiToken.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Type} from 'class-transformer'
import {IsIn, IsNotEmpty, IsOptional, Length, MaxLength, Min, ValidateNested} from 'class-validator'
import {IsIn, IsNotEmpty, IsOptional, Length, MaxLength, Min, ValidateNested, ValidateIf} from 'class-validator'
import {Currency} from './Currency'
import {Fee} from './Fee'
import {PrivateKeyOrSignatureId} from './PrivateKeyOrSignatureId'
Expand All @@ -15,7 +15,7 @@ export class MintMultiToken extends PrivateKeyOrSignatureId {
public tokenId: string;

@IsNotEmpty()
@IsIn([Currency.BSC, Currency.ETH, Currency.CELO, Currency.ONE, Currency.MATIC])
@IsIn([Currency.BSC, Currency.ETH, Currency.CELO, Currency.ONE, Currency.MATIC, Currency.ALGO])
public chain: Currency;

@IsNotEmpty()
Expand All @@ -37,4 +37,8 @@ export class MintMultiToken extends PrivateKeyOrSignatureId {
@ValidateNested()
public fee?: Fee;

@ValidateIf(o => o.chain === Currency.ALGO)
@IsNotEmpty()
public url?: string;

}
2 changes: 1 addition & 1 deletion src/model/request/TransferMultiToken.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export class TransferMultiToken extends PrivateKeyOrSignatureId {
public contractAddress: string;

@IsNotEmpty()
@IsIn([Currency.BSC, Currency.ETH, Currency.CELO, Currency.ONE, Currency.MATIC])
@IsIn([Currency.BSC, Currency.ETH, Currency.CELO, Currency.ONE, Currency.MATIC, Currency.ALGO])
public chain: Currency;

@IsNotEmpty()
Expand Down
14 changes: 12 additions & 2 deletions src/multiToken/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
MintMultiTokenBatch,
TransferMultiToken,
TransferMultiTokenBatch,
BurnMultiToken
} from '../model';
import {
prepareOneBatchTransferMultiTokenSignedTransaction,
Expand Down Expand Up @@ -51,7 +52,10 @@ import {
sendPolygonDeployMultiTokenSignedTransaction,
sendPolygonMintMultiTokenBatchSignedTransaction,
sendPolygonMintMultiTokenSignedTransaction,
sendPolygonTransferMultiTokenSignedTransaction
sendPolygonTransferMultiTokenSignedTransaction,
sendAlgoCreateFractionalNFTSignedTransaction,
sendAlgoBurnFractionalNFTSignedTransaction,
sendAlgoTransferFractionalNFTSignedTransaction
} from '../transaction';

/**
Expand Down Expand Up @@ -112,6 +116,8 @@ export const mintMultiToken = async (testnet: boolean, body: MintMultiToken | Ce
return sendOneMintMultiTokenSignedTransaction(testnet, body, provider)
case Currency.BSC:
return sendBscMintMultiTokenTransaction(body, provider)
case Currency.ALGO:
return sendAlgoCreateFractionalNFTSignedTransaction(testnet, body as MintMultiToken, provider)
}
}
export const mintMultiTokenBatch = async (testnet: boolean, body: MintMultiTokenBatch | CeloMintMultiTokenBatch, provider?: string) => {
Expand All @@ -128,7 +134,7 @@ export const mintMultiTokenBatch = async (testnet: boolean, body: MintMultiToken
return sendBscMintMultiTokenBatchTransaction(body, provider)
}
}
export const burnMultiToken = async (testnet: boolean, body: CeloBurnMultiToken | EthBurnMultiToken, provider?: string) => {
export const burnMultiToken = async (testnet: boolean, body: CeloBurnMultiToken | EthBurnMultiToken | BurnMultiToken, provider?: string) => {
switch (body.chain) {
case Currency.CELO:
return sendCeloBurnMultiTokenTransaction(testnet, body as CeloBurnMultiToken, provider)
Expand All @@ -140,6 +146,8 @@ export const burnMultiToken = async (testnet: boolean, body: CeloBurnMultiToken
return sendOneBurnMultiTokenSignedTransaction(testnet, body, provider)
case Currency.BSC:
return sendBscBurnMultiTokenTransaction(body, provider)
case Currency.ALGO:
return sendAlgoBurnFractionalNFTSignedTransaction(testnet, body as BurnMultiToken, provider)
}
}
export const burnMultiTokenBatch = async (testnet: boolean, body: CeloBurnMultiTokenBatch | EthBurnMultiTokenBatch, provider?: string) => {
Expand Down Expand Up @@ -169,6 +177,8 @@ export const transferMultiToken = async (testnet: boolean, body: CeloTransferMul
return sendOneTransferMultiTokenSignedTransaction(testnet, body, provider)
case Currency.BSC:
return sendBscMultiTokenTransaction(body, provider)
case Currency.ALGO:
return sendAlgoTransferFractionalNFTSignedTransaction(testnet, body as TransferMultiToken, provider)
}
}
export const transferMultiTokenBatch = async (testnet: boolean, body: CeloTransferMultiTokenBatch | TransferMultiTokenBatch, provider?: string) => {
Expand Down
Loading

0 comments on commit fc606b4

Please sign in to comment.