cppay-sdk 0.0.2-beta.1 → 0.0.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- const e={Ethereum:[`USDT`,`USDC`,`ETH`],BSC:[`USDT`,`USDC`,`BNB`],Tron:[`USDT`,`USDC`,`TRX`],Polygon:[`USDT`,`USDC`],Solana:[`USDT`,`USDC`,`SOL`]},t={Ethereum:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png`,BSC:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,Tron:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png`,Polygon:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/polygon/info/logo.png`,Solana:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png`},n={USDT:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png`,USDC:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png`,ETH:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png`,BNB:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,TRX:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png`,SOL:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png`};var r=`http://192.168.0.162:8000`,i=async(e,t,n)=>{let i=Object.assign({timeout:15e3},n),a=new AbortController,o=setTimeout(()=>a.abort(),i.timeout);try{let n=await fetch(new URL(e,r),{signal:a.signal,...t});clearTimeout(o);let i=n.headers.get(`Content-Type`)??``;if(i.includes(`json`))return await n.json();try{return await n.json()}catch{throw Error(`URL: ${e}, Unsupport Content Type: ${i}`)}}catch(t){throw clearTimeout(o),t instanceof DOMException&&t.name===`AbortError`?Error(`URL: ${e}, Request timeout after ${i.timeout}ms`):t}},a=0;const o=async(e,t)=>{let n=await i(t.url,{method:t.method??`get`,headers:{Authorization:e,...t.headers},body:JSON.stringify(t.data)});if(n.code!==a)throw Error(`Request ${t.url} Failed. ${n.message}`);return n.data},s=(e=1e3)=>new Promise(t=>setTimeout(t,e));var c=class{apikey;constructor(e){this.apikey=e}async getSupportedChains(){let e=(await o(this.apikey,{url:`/api/payment/token`})).reduce((e,r)=>{let i=e[r.chain]??{chain:r.chain,tokens:[],icon:t[r.chain]};return i.tokens.push({symbol:r.token_symbol,decimals:r.token_decimals,address:r.token_address,receiveAddresses:r.receive_addresses,icon:n[r.token_symbol]}),e[r.chain]=i,e},{});return Object.values(e)}async createPayment(e){let t={chain:e.paymentChain,token:e.paymentToken,order_no:e.orderId,amount:e.amount},n=await o(this.apikey,{url:`/api/payment/create`,method:`post`,data:t});return{orderId:e.orderId,paymentId:n.payment_id,paymentAmount:n.pay_amount,paymentChain:e.paymentChain,paymentToken:e.paymentToken}}async checkPaymentStatus(e,t=1e3){let n=15;for(;n--;){let n={payment_id:e};if((await o(this.apikey,{url:`/api/payment/query`,data:n})).status===`success`)return;await s(t)}throw Error(`Check Payment Status Timeout, PaymentId: ${e}`)}},l=c;exports.CHAIN_ICONS=t,exports.CHAIN_TOKENS=e,exports.Cppay=l,exports.TOKEN_ICONS=n;
1
+ const e={Ethereum:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png`,BSC:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,Tron:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png`,Polygon:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/polygon/info/logo.png`,Solana:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png`},t={USDT:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png`,USDC:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png`,ETH:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png`,BNB:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,TRX:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png`,SOL:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png`};var n=`http://192.168.0.162:8000`,r=async(e,t,r)=>{let i=Object.assign({timeout:15e3},r),a=new AbortController,o=setTimeout(()=>a.abort(),i.timeout);try{let r=await fetch(new URL(e,n),{signal:a.signal,...t});clearTimeout(o);let i=r.headers.get(`Content-Type`)??``;if(i.includes(`json`))return await r.json();try{return await r.json()}catch{throw Error(`URL: ${e}, Unsupport Content Type: ${i}`)}}catch(t){throw clearTimeout(o),t instanceof DOMException&&t.name===`AbortError`?Error(`URL: ${e}, Request timeout after ${i.timeout}ms`):t}},i=0;const a=async(e,t)=>{let n=await r(t.url,{method:t.method??`get`,headers:{Authorization:e,...t.headers},body:JSON.stringify(t.data)});if(n.code!==i)throw Error(`Request ${t.url} Failed. ${n.message}`);return n.data},o=(e=1e3)=>new Promise(t=>setTimeout(t,e));var s=class{apikey;constructor(e){this.apikey=e}async getSupportedChains(){let n=(await a(this.apikey,{url:`/api/payment/token`})).reduce((n,r)=>{let i=n[r.chain]??{chain:r.chain,tokens:[],icon:e[r.chain]};return i.tokens.push({symbol:r.token_symbol,decimals:r.token_decimals,address:r.token_address,receiveAddresses:r.receive_addresses,icon:t[r.token_symbol]}),n[r.chain]=i,n},{});return Object.values(n)}async createPayment(e){let t={chain:e.paymentChain,token:e.paymentToken,order_no:e.orderId,amount:e.amount},n=await a(this.apikey,{url:`/api/payment/create`,method:`post`,data:t});return{orderId:e.orderId,paymentId:n.payment_id,paymentAmount:n.pay_amount,paymentChain:e.paymentChain,paymentToken:e.paymentToken}}async checkPaymentStatus(e,t=1e3){let n=15;for(;n--;){let n={payment_id:e};if((await a(this.apikey,{url:`/api/payment/query`,data:n})).status===`success`)return;await o(t)}throw Error(`Check Payment Status Timeout, PaymentId: ${e}`)}},c=s;exports.CHAIN_ICONS=e,exports.Cppay=c,exports.TOKEN_ICONS=t;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
+ export declare type Address = `0x${string}`;
2
+
1
3
  export declare type Chain = "Ethereum" | "BSC" | "Tron" | "Polygon" | "Solana";
2
4
 
3
5
  export declare const CHAIN_ICONS: Record<Chain, string>;
4
6
 
5
- export declare const CHAIN_TOKENS: Record<Chain, Token[]>;
6
-
7
7
  export declare interface ChainInfo {
8
8
  icon?: string;
9
9
  chain: Chain;
@@ -45,10 +45,10 @@ export declare const TOKEN_ICONS: Record<Token, string>;
45
45
 
46
46
  export declare interface TokenInfo {
47
47
  icon?: string;
48
- symbol: string;
48
+ symbol: Token;
49
49
  decimals: number;
50
- address: string | "";
51
- receiveAddresses: string[];
50
+ address: Address | "";
51
+ receiveAddresses: Address[];
52
52
  }
53
53
 
54
54
  export { }
package/dist/index.js CHANGED
@@ -1,26 +1,4 @@
1
- const CHAIN_TOKENS = {
2
- Ethereum: [
3
- "USDT",
4
- "USDC",
5
- "ETH"
6
- ],
7
- BSC: [
8
- "USDT",
9
- "USDC",
10
- "BNB"
11
- ],
12
- Tron: [
13
- "USDT",
14
- "USDC",
15
- "TRX"
16
- ],
17
- Polygon: ["USDT", "USDC"],
18
- Solana: [
19
- "USDT",
20
- "USDC",
21
- "SOL"
22
- ]
23
- }, CHAIN_ICONS = {
1
+ const CHAIN_ICONS = {
24
2
  Ethereum: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png",
25
3
  BSC: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png",
26
4
  Tron: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png",
@@ -34,89 +12,89 @@ const CHAIN_TOKENS = {
34
12
  TRX: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png",
35
13
  SOL: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png"
36
14
  };
37
- var BASE_URL = "http://192.168.0.162:8000", request = async (e, r, i) => {
38
- let o = Object.assign({ timeout: 15e3 }, i), s = new AbortController(), c = setTimeout(() => s.abort(), o.timeout);
15
+ var BASE_URL = "http://192.168.0.162:8000", request = async (e, n, i) => {
16
+ let a = Object.assign({ timeout: 15e3 }, i), o = new AbortController(), s = setTimeout(() => o.abort(), a.timeout);
39
17
  try {
40
18
  let i = await fetch(new URL(e, BASE_URL), {
41
- signal: s.signal,
42
- ...r
19
+ signal: o.signal,
20
+ ...n
43
21
  });
44
- clearTimeout(c);
45
- let o = i.headers.get("Content-Type") ?? "";
46
- if (o.includes("json")) return await i.json();
22
+ clearTimeout(s);
23
+ let a = i.headers.get("Content-Type") ?? "";
24
+ if (a.includes("json")) return await i.json();
47
25
  try {
48
26
  return await i.json();
49
27
  } catch {
50
- throw Error(`URL: ${e}, Unsupport Content Type: ${o}`);
28
+ throw Error(`URL: ${e}, Unsupport Content Type: ${a}`);
51
29
  }
52
- } catch (r) {
53
- throw clearTimeout(c), r instanceof DOMException && r.name === "AbortError" ? Error(`URL: ${e}, Request timeout after ${o.timeout}ms`) : r;
30
+ } catch (n) {
31
+ throw clearTimeout(s), n instanceof DOMException && n.name === "AbortError" ? Error(`URL: ${e}, Request timeout after ${a.timeout}ms`) : n;
54
32
  }
55
33
  }, SUCCESS_CODE = 0;
56
- const cppayRequest = async (e, r) => {
57
- let i = await request(r.url, {
58
- method: r.method ?? "get",
34
+ const cppayRequest = async (e, n) => {
35
+ let r = await request(n.url, {
36
+ method: n.method ?? "get",
59
37
  headers: {
60
38
  Authorization: e,
61
- ...r.headers
39
+ ...n.headers
62
40
  },
63
- body: JSON.stringify(r.data)
41
+ body: JSON.stringify(n.data)
64
42
  });
65
- if (i.code !== SUCCESS_CODE) throw Error(`Request ${r.url} Failed. ${i.message}`);
66
- return i.data;
67
- }, sleep = (e = 1e3) => new Promise((r) => setTimeout(r, e));
43
+ if (r.code !== SUCCESS_CODE) throw Error(`Request ${n.url} Failed. ${r.message}`);
44
+ return r.data;
45
+ }, sleep = (e = 1e3) => new Promise((n) => setTimeout(n, e));
68
46
  var cppay_default = class {
69
47
  apikey;
70
48
  constructor(e) {
71
49
  this.apikey = e;
72
50
  }
73
51
  async getSupportedChains() {
74
- let e = (await cppayRequest(this.apikey, { url: "/api/payment/token" })).reduce((e, a) => {
75
- let o = e[a.chain] ?? {
76
- chain: a.chain,
52
+ let r = (await cppayRequest(this.apikey, { url: "/api/payment/token" })).reduce((r, i) => {
53
+ let a = r[i.chain] ?? {
54
+ chain: i.chain,
77
55
  tokens: [],
78
- icon: CHAIN_ICONS[a.chain]
56
+ icon: CHAIN_ICONS[i.chain]
79
57
  };
80
- return o.tokens.push({
81
- symbol: a.token_symbol,
82
- decimals: a.token_decimals,
83
- address: a.token_address,
84
- receiveAddresses: a.receive_addresses,
85
- icon: TOKEN_ICONS[a.token_symbol]
86
- }), e[a.chain] = o, e;
58
+ return a.tokens.push({
59
+ symbol: i.token_symbol,
60
+ decimals: i.token_decimals,
61
+ address: i.token_address,
62
+ receiveAddresses: i.receive_addresses,
63
+ icon: TOKEN_ICONS[i.token_symbol]
64
+ }), r[i.chain] = a, r;
87
65
  }, {});
88
- return Object.values(e);
66
+ return Object.values(r);
89
67
  }
90
68
  async createPayment(e) {
91
- let r = {
69
+ let n = {
92
70
  chain: e.paymentChain,
93
71
  token: e.paymentToken,
94
72
  order_no: e.orderId,
95
73
  amount: e.amount
96
- }, i = await cppayRequest(this.apikey, {
74
+ }, r = await cppayRequest(this.apikey, {
97
75
  url: "/api/payment/create",
98
76
  method: "post",
99
- data: r
77
+ data: n
100
78
  });
101
79
  return {
102
80
  orderId: e.orderId,
103
- paymentId: i.payment_id,
104
- paymentAmount: i.pay_amount,
81
+ paymentId: r.payment_id,
82
+ paymentAmount: r.pay_amount,
105
83
  paymentChain: e.paymentChain,
106
84
  paymentToken: e.paymentToken
107
85
  };
108
86
  }
109
- async checkPaymentStatus(e, r = 1e3) {
110
- let i = 15;
111
- for (; i--;) {
112
- let i = { payment_id: e };
87
+ async checkPaymentStatus(e, n = 1e3) {
88
+ let r = 15;
89
+ for (; r--;) {
90
+ let r = { payment_id: e };
113
91
  if ((await cppayRequest(this.apikey, {
114
92
  url: "/api/payment/query",
115
- data: i
93
+ data: r
116
94
  })).status === "success") return;
117
- await sleep(r);
95
+ await sleep(n);
118
96
  }
119
97
  throw Error(`Check Payment Status Timeout, PaymentId: ${e}`);
120
98
  }
121
99
  };
122
- export { CHAIN_ICONS, CHAIN_TOKENS, cppay_default as Cppay, TOKEN_ICONS };
100
+ export { CHAIN_ICONS, cppay_default as Cppay, TOKEN_ICONS };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cppay-sdk",
3
- "version": "0.0.2-beta.1",
3
+ "version": "0.0.2-beta.2",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",