@ic-pay/icpay-sdk 1.3.61
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/README.md +32 -0
- package/dist/declarations/icp-ledger/icp-ledger.did.d.ts +82 -0
- package/dist/declarations/icp-ledger/icp-ledger.did.js +76 -0
- package/dist/declarations/icpay_canister_backend/icpay_canister_backend.did +193 -0
- package/dist/declarations/icpay_canister_backend/icpay_canister_backend.did.d.ts +219 -0
- package/dist/declarations/icpay_canister_backend/icpay_canister_backend.did.js +231 -0
- package/dist/declarations/icrc-ledger/ledger.did +560 -0
- package/dist/declarations/icrc-ledger/ledger.did.d.ts +364 -0
- package/dist/declarations/icrc-ledger/ledger.did.js +530 -0
- package/dist/errors.d.ts +72 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +162 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +24 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +131 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +163 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1211 -0
- package/dist/index.js.map +1 -0
- package/dist/protected.d.ts +28 -0
- package/dist/protected.d.ts.map +1 -0
- package/dist/protected.js +336 -0
- package/dist/protected.js.map +1 -0
- package/dist/types/index.d.ts +482 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils.d.ts +15 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +42 -0
- package/dist/utils.js.map +1 -0
- package/dist/wallet.d.ts +83 -0
- package/dist/wallet.d.ts.map +1 -0
- package/dist/wallet.js +261 -0
- package/dist/wallet.js.map +1 -0
- package/package.json +58 -0
package/dist/errors.js
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNetworkError = exports.createBalanceError = exports.createWalletError = exports.IcpayError = exports.ICPAY_ERROR_CODES = void 0;
|
|
4
|
+
// Standard error codes for consistent error handling
|
|
5
|
+
exports.ICPAY_ERROR_CODES = {
|
|
6
|
+
// Wallet-related errors
|
|
7
|
+
WALLET_NOT_CONNECTED: 'WALLET_NOT_CONNECTED',
|
|
8
|
+
WALLET_CONNECTION_FAILED: 'WALLET_CONNECTION_FAILED',
|
|
9
|
+
WALLET_DISCONNECTED: 'WALLET_DISCONNECTED',
|
|
10
|
+
WALLET_SIGNATURE_REJECTED: 'WALLET_SIGNATURE_REJECTED',
|
|
11
|
+
WALLET_USER_CANCELLED: 'WALLET_USER_CANCELLED',
|
|
12
|
+
WALLET_PROVIDER_NOT_AVAILABLE: 'WALLET_PROVIDER_NOT_AVAILABLE',
|
|
13
|
+
UNSUPPORTED_PROVIDER: 'UNSUPPORTED_PROVIDER',
|
|
14
|
+
NO_PROVIDERS_AVAILABLE: 'NO_PROVIDERS_AVAILABLE',
|
|
15
|
+
// Balance-related errors
|
|
16
|
+
INSUFFICIENT_BALANCE: 'INSUFFICIENT_BALANCE',
|
|
17
|
+
BALANCE_CHECK_FAILED: 'BALANCE_CHECK_FAILED',
|
|
18
|
+
// Transaction-related errors
|
|
19
|
+
TRANSACTION_FAILED: 'TRANSACTION_FAILED',
|
|
20
|
+
TRANSACTION_TIMEOUT: 'TRANSACTION_TIMEOUT',
|
|
21
|
+
TRANSACTION_CANCELLED: 'TRANSACTION_CANCELLED',
|
|
22
|
+
TRANSACTION_INVALID: 'TRANSACTION_INVALID',
|
|
23
|
+
// Network/API errors
|
|
24
|
+
NETWORK_ERROR: 'NETWORK_ERROR',
|
|
25
|
+
API_ERROR: 'API_ERROR',
|
|
26
|
+
RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
|
|
27
|
+
// Configuration errors
|
|
28
|
+
INVALID_CONFIG: 'INVALID_CONFIG',
|
|
29
|
+
MISSING_PUBLISHABLE_KEY: 'MISSING_PUBLISHABLE_KEY',
|
|
30
|
+
INVALID_PUBLISHABLE_KEY: 'INVALID_PUBLISHABLE_KEY',
|
|
31
|
+
SECRET_KEY_REQUIRED: 'SECRET_KEY_REQUIRED',
|
|
32
|
+
// Ledger/Token errors
|
|
33
|
+
LEDGER_NOT_FOUND: 'LEDGER_NOT_FOUND',
|
|
34
|
+
LEDGER_NOT_VERIFIED: 'LEDGER_NOT_VERIFIED',
|
|
35
|
+
TOKEN_NOT_SUPPORTED: 'TOKEN_NOT_SUPPORTED',
|
|
36
|
+
INVALID_LEDGER_SYMBOL: 'INVALID_LEDGER_SYMBOL',
|
|
37
|
+
LEDGER_SYMBOL_NOT_FOUND: 'LEDGER_SYMBOL_NOT_FOUND',
|
|
38
|
+
// Account errors
|
|
39
|
+
ACCOUNT_NOT_FOUND: 'ACCOUNT_NOT_FOUND',
|
|
40
|
+
ACCOUNT_INACTIVE: 'ACCOUNT_INACTIVE',
|
|
41
|
+
ACCOUNT_INFO_FETCH_FAILED: 'ACCOUNT_INFO_FETCH_FAILED',
|
|
42
|
+
// Transaction errors
|
|
43
|
+
TRANSACTION_STATUS_FETCH_FAILED: 'TRANSACTION_STATUS_FETCH_FAILED',
|
|
44
|
+
TRANSACTION_SYNC_TRIGGER_FAILED: 'TRANSACTION_SYNC_TRIGGER_FAILED',
|
|
45
|
+
// Balance errors
|
|
46
|
+
BALANCES_FETCH_FAILED: 'BALANCES_FETCH_FAILED',
|
|
47
|
+
SINGLE_BALANCE_FETCH_FAILED: 'SINGLE_BALANCE_FETCH_FAILED',
|
|
48
|
+
// Price/Calculation errors
|
|
49
|
+
INVALID_USD_AMOUNT: 'INVALID_USD_AMOUNT',
|
|
50
|
+
PRICE_NOT_AVAILABLE: 'PRICE_NOT_AVAILABLE',
|
|
51
|
+
PRICE_CALCULATION_FAILED: 'PRICE_CALCULATION_FAILED',
|
|
52
|
+
// Transaction errors
|
|
53
|
+
TRANSACTION_HISTORY_FETCH_FAILED: 'TRANSACTION_HISTORY_FETCH_FAILED',
|
|
54
|
+
PAYMENT_HISTORY_FETCH_FAILED: 'PAYMENT_HISTORY_FETCH_FAILED',
|
|
55
|
+
PAYMENTS_BY_PRINCIPAL_FETCH_FAILED: 'PAYMENTS_BY_PRINCIPAL_FETCH_FAILED',
|
|
56
|
+
SEND_FUNDS_USD_FAILED: 'SEND_FUNDS_USD_FAILED',
|
|
57
|
+
// Ledger errors
|
|
58
|
+
LEDGER_INFO_FETCH_FAILED: 'LEDGER_INFO_FETCH_FAILED',
|
|
59
|
+
LEDGERS_WITH_PRICES_FETCH_FAILED: 'LEDGERS_WITH_PRICES_FETCH_FAILED',
|
|
60
|
+
VERIFIED_LEDGERS_FETCH_FAILED: 'VERIFIED_LEDGERS_FETCH_FAILED',
|
|
61
|
+
// Account errors
|
|
62
|
+
ACCOUNT_WALLET_BALANCES_FETCH_FAILED: 'ACCOUNT_WALLET_BALANCES_FETCH_FAILED',
|
|
63
|
+
// Generic errors
|
|
64
|
+
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
|
|
65
|
+
VALIDATION_ERROR: 'VALIDATION_ERROR'
|
|
66
|
+
};
|
|
67
|
+
class IcpayError extends Error {
|
|
68
|
+
constructor(error) {
|
|
69
|
+
super(error.message);
|
|
70
|
+
this.name = 'IcpayError';
|
|
71
|
+
this.code = error.code;
|
|
72
|
+
this.details = error.details;
|
|
73
|
+
this.retryable = error.retryable ?? false;
|
|
74
|
+
this.userAction = error.userAction;
|
|
75
|
+
}
|
|
76
|
+
// Helper method to check if error is user-cancelled
|
|
77
|
+
isUserCancelled() {
|
|
78
|
+
return this.code === exports.ICPAY_ERROR_CODES.WALLET_USER_CANCELLED ||
|
|
79
|
+
this.code === exports.ICPAY_ERROR_CODES.WALLET_SIGNATURE_REJECTED ||
|
|
80
|
+
this.code === exports.ICPAY_ERROR_CODES.TRANSACTION_CANCELLED;
|
|
81
|
+
}
|
|
82
|
+
// Helper method to check if error is retryable
|
|
83
|
+
isRetryable() {
|
|
84
|
+
return this.retryable;
|
|
85
|
+
}
|
|
86
|
+
// Helper method to check if error is wallet-related
|
|
87
|
+
isWalletError() {
|
|
88
|
+
const walletErrors = [
|
|
89
|
+
exports.ICPAY_ERROR_CODES.WALLET_NOT_CONNECTED,
|
|
90
|
+
exports.ICPAY_ERROR_CODES.WALLET_CONNECTION_FAILED,
|
|
91
|
+
exports.ICPAY_ERROR_CODES.WALLET_DISCONNECTED,
|
|
92
|
+
exports.ICPAY_ERROR_CODES.WALLET_SIGNATURE_REJECTED,
|
|
93
|
+
exports.ICPAY_ERROR_CODES.WALLET_USER_CANCELLED,
|
|
94
|
+
exports.ICPAY_ERROR_CODES.WALLET_PROVIDER_NOT_AVAILABLE,
|
|
95
|
+
exports.ICPAY_ERROR_CODES.UNSUPPORTED_PROVIDER,
|
|
96
|
+
exports.ICPAY_ERROR_CODES.NO_PROVIDERS_AVAILABLE
|
|
97
|
+
];
|
|
98
|
+
return walletErrors.includes(this.code);
|
|
99
|
+
}
|
|
100
|
+
// Helper method to check if error is balance-related
|
|
101
|
+
isBalanceError() {
|
|
102
|
+
const balanceErrors = [
|
|
103
|
+
exports.ICPAY_ERROR_CODES.INSUFFICIENT_BALANCE,
|
|
104
|
+
exports.ICPAY_ERROR_CODES.BALANCE_CHECK_FAILED,
|
|
105
|
+
exports.ICPAY_ERROR_CODES.BALANCES_FETCH_FAILED,
|
|
106
|
+
exports.ICPAY_ERROR_CODES.SINGLE_BALANCE_FETCH_FAILED
|
|
107
|
+
];
|
|
108
|
+
return balanceErrors.includes(this.code);
|
|
109
|
+
}
|
|
110
|
+
// Helper method to check if error is network-related
|
|
111
|
+
isNetworkError() {
|
|
112
|
+
const networkErrors = [
|
|
113
|
+
exports.ICPAY_ERROR_CODES.NETWORK_ERROR,
|
|
114
|
+
exports.ICPAY_ERROR_CODES.API_ERROR,
|
|
115
|
+
exports.ICPAY_ERROR_CODES.RATE_LIMIT_EXCEEDED
|
|
116
|
+
];
|
|
117
|
+
return networkErrors.includes(this.code);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.IcpayError = IcpayError;
|
|
121
|
+
// Helper functions to create common errors
|
|
122
|
+
const createWalletError = (code, message, details) => {
|
|
123
|
+
const defaultMessages = {
|
|
124
|
+
[exports.ICPAY_ERROR_CODES.WALLET_NOT_CONNECTED]: 'Wallet is not connected. Please connect your wallet first.',
|
|
125
|
+
[exports.ICPAY_ERROR_CODES.WALLET_CONNECTION_FAILED]: 'Failed to connect wallet. Please try again.',
|
|
126
|
+
[exports.ICPAY_ERROR_CODES.WALLET_DISCONNECTED]: 'Wallet has been disconnected.',
|
|
127
|
+
[exports.ICPAY_ERROR_CODES.WALLET_SIGNATURE_REJECTED]: 'Transaction was rejected by the user.',
|
|
128
|
+
[exports.ICPAY_ERROR_CODES.WALLET_USER_CANCELLED]: 'Transaction was cancelled by the user.',
|
|
129
|
+
[exports.ICPAY_ERROR_CODES.WALLET_PROVIDER_NOT_AVAILABLE]: 'Wallet provider is not available.',
|
|
130
|
+
[exports.ICPAY_ERROR_CODES.UNSUPPORTED_PROVIDER]: 'Unsupported wallet provider.',
|
|
131
|
+
[exports.ICPAY_ERROR_CODES.NO_PROVIDERS_AVAILABLE]: 'No wallet providers are available.'
|
|
132
|
+
};
|
|
133
|
+
return new IcpayError({
|
|
134
|
+
code,
|
|
135
|
+
message: message || defaultMessages[code] || 'Wallet error occurred',
|
|
136
|
+
details,
|
|
137
|
+
retryable: code === exports.ICPAY_ERROR_CODES.WALLET_CONNECTION_FAILED,
|
|
138
|
+
userAction: code === exports.ICPAY_ERROR_CODES.WALLET_NOT_CONNECTED ? 'Connect wallet' : undefined
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
exports.createWalletError = createWalletError;
|
|
142
|
+
const createBalanceError = (required, available, details) => {
|
|
143
|
+
return new IcpayError({
|
|
144
|
+
code: exports.ICPAY_ERROR_CODES.INSUFFICIENT_BALANCE,
|
|
145
|
+
message: `Insufficient balance. Required: ${required}, Available: ${available}`,
|
|
146
|
+
details: { required, available, ...details },
|
|
147
|
+
retryable: false,
|
|
148
|
+
userAction: 'Add funds to your wallet'
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
exports.createBalanceError = createBalanceError;
|
|
152
|
+
const createNetworkError = (message, details) => {
|
|
153
|
+
return new IcpayError({
|
|
154
|
+
code: exports.ICPAY_ERROR_CODES.NETWORK_ERROR,
|
|
155
|
+
message: message || 'Network error occurred. Please check your connection.',
|
|
156
|
+
details,
|
|
157
|
+
retryable: true,
|
|
158
|
+
userAction: 'Try again'
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
exports.createNetworkError = createNetworkError;
|
|
162
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type IcpayEventName = 'icpay-sdk-error' | 'icpay-sdk-transaction-created' | 'icpay-sdk-transaction-updated' | 'icpay-sdk-transaction-completed' | 'icpay-sdk-transaction-failed' | 'icpay-sdk-connect-wallet' | 'icpay-sdk-method-start' | 'icpay-sdk-method-success' | 'icpay-sdk-method-error';
|
|
2
|
+
type GenericEvent = {
|
|
3
|
+
type: string;
|
|
4
|
+
detail?: any;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Small, cross-environment event center.
|
|
8
|
+
* - Uses DOM EventTarget when available (browser)
|
|
9
|
+
* - Falls back to an in-memory emitter (Node or non-DOM envs)
|
|
10
|
+
*/
|
|
11
|
+
export declare class IcpayEventCenter {
|
|
12
|
+
private target;
|
|
13
|
+
private listeners;
|
|
14
|
+
private wrapperMap;
|
|
15
|
+
constructor();
|
|
16
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
|
|
17
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
|
|
18
|
+
dispatchEvent(event: Event | GenericEvent): boolean;
|
|
19
|
+
on(type: IcpayEventName | string, listener: (detail: any) => void): () => void;
|
|
20
|
+
off(type: IcpayEventName | string, listener: (detail: any) => void): void;
|
|
21
|
+
emit(type: IcpayEventName | string, detail?: any): void;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,+BAA+B,GAC/B,+BAA+B,GAC/B,iCAAiC,GACjC,8BAA8B,GAC9B,0BAA0B,GAC1B,wBAAwB,GACxB,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAGnD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,UAAU,CAA4C;;IAU9D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI;IAiBlF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI;IAYrF,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,GAAG,OAAO;IAcnD,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAqB9E,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAiBzE,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;CAqBxD"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IcpayEventCenter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Small, cross-environment event center.
|
|
6
|
+
* - Uses DOM EventTarget when available (browser)
|
|
7
|
+
* - Falls back to an in-memory emitter (Node or non-DOM envs)
|
|
8
|
+
*/
|
|
9
|
+
class IcpayEventCenter {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.target = typeof globalThis !== 'undefined' && typeof globalThis.EventTarget === 'function'
|
|
12
|
+
? new globalThis.EventTarget()
|
|
13
|
+
: null;
|
|
14
|
+
this.listeners = new Map();
|
|
15
|
+
this.wrapperMap = new Map();
|
|
16
|
+
}
|
|
17
|
+
addEventListener(type, listener) {
|
|
18
|
+
if (this.target) {
|
|
19
|
+
this.target.addEventListener(type, listener);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const set = this.listeners.get(type) || new Set();
|
|
23
|
+
const wrapped = (event) => {
|
|
24
|
+
if (typeof listener === 'function') {
|
|
25
|
+
listener(event);
|
|
26
|
+
}
|
|
27
|
+
else if (listener && typeof listener.handleEvent === 'function') {
|
|
28
|
+
listener.handleEvent(event);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
set.add(wrapped);
|
|
32
|
+
this.listeners.set(type, set);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
removeEventListener(type, listener) {
|
|
36
|
+
if (this.target) {
|
|
37
|
+
this.target.removeEventListener(type, listener);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const set = this.listeners.get(type);
|
|
41
|
+
if (!set)
|
|
42
|
+
return;
|
|
43
|
+
// On fallback path we cannot reliably match the exact wrapper created in addEventListener,
|
|
44
|
+
// so we clear the whole set for this type if remove is called.
|
|
45
|
+
this.listeners.delete(type);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
dispatchEvent(event) {
|
|
49
|
+
if (this.target && event.type) {
|
|
50
|
+
return this.target.dispatchEvent(event);
|
|
51
|
+
}
|
|
52
|
+
const e = event;
|
|
53
|
+
const set = this.listeners.get(e.type);
|
|
54
|
+
if (set) {
|
|
55
|
+
set.forEach(fn => {
|
|
56
|
+
try {
|
|
57
|
+
fn(e);
|
|
58
|
+
}
|
|
59
|
+
catch { }
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
on(type, listener) {
|
|
65
|
+
if (this.target) {
|
|
66
|
+
const wrapper = (e) => listener(e && typeof e === 'object' ? (e.detail ?? e) : e);
|
|
67
|
+
if (!this.wrapperMap.has(type))
|
|
68
|
+
this.wrapperMap.set(type, new Map());
|
|
69
|
+
this.wrapperMap.get(type).set(listener, wrapper);
|
|
70
|
+
this.target.addEventListener(type, wrapper);
|
|
71
|
+
return () => this.off(type, listener);
|
|
72
|
+
}
|
|
73
|
+
const set = this.listeners.get(type) || new Set();
|
|
74
|
+
const wrapped = (e) => listener(e.detail);
|
|
75
|
+
set.add(wrapped);
|
|
76
|
+
this.listeners.set(type, set);
|
|
77
|
+
return () => {
|
|
78
|
+
const current = this.listeners.get(type);
|
|
79
|
+
if (current) {
|
|
80
|
+
current.delete(wrapped);
|
|
81
|
+
if (current.size === 0)
|
|
82
|
+
this.listeners.delete(type);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
off(type, listener) {
|
|
87
|
+
if (this.target) {
|
|
88
|
+
const typeMap = this.wrapperMap.get(type);
|
|
89
|
+
const wrapper = typeMap?.get(listener);
|
|
90
|
+
if (wrapper) {
|
|
91
|
+
this.target.removeEventListener(type, wrapper);
|
|
92
|
+
typeMap.delete(listener);
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const set = this.listeners.get(type);
|
|
97
|
+
if (set) {
|
|
98
|
+
// Fallback: cannot map back original, clear all
|
|
99
|
+
this.listeners.delete(type);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
emit(type, detail) {
|
|
103
|
+
if (this.target) {
|
|
104
|
+
const CE = globalThis.CustomEvent;
|
|
105
|
+
if (typeof CE === 'function') {
|
|
106
|
+
this.target.dispatchEvent(new CE(type, { detail }));
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const Evt = globalThis.Event;
|
|
110
|
+
const e = typeof Evt === 'function' ? new Evt(type) : { type };
|
|
111
|
+
try {
|
|
112
|
+
e.detail = detail;
|
|
113
|
+
}
|
|
114
|
+
catch { }
|
|
115
|
+
this.target.dispatchEvent(e);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const evt = { type, detail };
|
|
119
|
+
const set = this.listeners.get(type);
|
|
120
|
+
if (set) {
|
|
121
|
+
set.forEach(fn => {
|
|
122
|
+
try {
|
|
123
|
+
fn(evt);
|
|
124
|
+
}
|
|
125
|
+
catch { }
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.IcpayEventCenter = IcpayEventCenter;
|
|
131
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAcA;;;;GAIG;AACH,MAAa,gBAAgB;IAK3B;QACE,IAAI,CAAC,MAAM,GAAG,OAAO,UAAU,KAAK,WAAW,IAAI,OAAQ,UAAkB,CAAC,WAAW,KAAK,UAAU;YACtG,CAAC,CAAC,IAAK,UAAkB,CAAC,WAAW,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,QAA4C;QACzE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAyB,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAClD,MAAM,OAAO,GAAa,CAAC,KAAK,EAAE,EAAE;gBAClC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAClC,QAA0B,CAAC,KAAyB,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,QAAQ,IAAI,OAAQ,QAAgC,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;oBAC1F,QAAgC,CAAC,WAAW,CAAC,KAAyB,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC,CAAC;YACF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,IAAY,EAAE,QAA4C;QAC5E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAyB,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,2FAA2F;YAC3F,+DAA+D;YAC/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,aAAa,CAAC,KAA2B;QACvC,IAAI,IAAI,CAAC,MAAM,IAAK,KAAe,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAc,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,GAAG,KAAqB,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACf,IAAI,CAAC;oBAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,IAA6B,EAAE,QAA+B;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAkB,CAAC,CAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,QAA+B,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAClD,MAAM,OAAO,GAAa,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;oBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,IAA6B,EAAE,QAA+B;QAChE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,EAAE,GAAG,CAAC,QAA+B,CAAC,CAAC;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC/C,OAAQ,CAAC,MAAM,CAAC,QAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,EAAE,CAAC;YACR,gDAAgD;YAChD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAA6B,EAAE,MAAY;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,EAAE,GAAI,UAAkB,CAAC,WAAW,CAAC;YAC3C,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAI,UAAkB,CAAC,KAAK,CAAC;YACtC,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,EAAE,IAAI,EAAY,CAAC;YAC1E,IAAI,CAAC;gBAAE,CAAS,CAAC,MAAM,GAAG,MAAM,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACf,IAAI,CAAC;oBAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAnHD,4CAmHC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { IcpayConfig, CreateTransactionRequest, TransactionResponse, WalletConnectionResult, AllLedgerBalances, LedgerBalance, PriceCalculationRequest, PriceCalculationResult, SendFundsUsdRequest, AccountPublic, LedgerPublic, SdkLedger } from './types';
|
|
2
|
+
import { IcpayEventName } from './events';
|
|
3
|
+
import { ProtectedApi } from './protected';
|
|
4
|
+
export declare class Icpay {
|
|
5
|
+
private config;
|
|
6
|
+
private wallet;
|
|
7
|
+
private publicApiClient;
|
|
8
|
+
private privateApiClient;
|
|
9
|
+
private connectedWallet;
|
|
10
|
+
private icHost;
|
|
11
|
+
private actorProvider?;
|
|
12
|
+
private icpayCanisterId;
|
|
13
|
+
private accountInfoCache;
|
|
14
|
+
private verifiedLedgersCache;
|
|
15
|
+
private events;
|
|
16
|
+
protected: ProtectedApi;
|
|
17
|
+
constructor(config: IcpayConfig);
|
|
18
|
+
on(type: IcpayEventName | string, listener: (detail: any) => void): () => void;
|
|
19
|
+
off(type: IcpayEventName | string, listener: (detail: any) => void): void;
|
|
20
|
+
emit(type: IcpayEventName | string, detail?: any): void;
|
|
21
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
|
|
22
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
|
|
23
|
+
dispatchEvent(event: Event): boolean;
|
|
24
|
+
private emitError;
|
|
25
|
+
private emitMethodStart;
|
|
26
|
+
private emitMethodSuccess;
|
|
27
|
+
private emitMethodError;
|
|
28
|
+
/**
|
|
29
|
+
* Check if SDK has secret key for private operations
|
|
30
|
+
*/
|
|
31
|
+
private hasSecretKey;
|
|
32
|
+
/**
|
|
33
|
+
* Require secret key for private operations
|
|
34
|
+
*/
|
|
35
|
+
private requireSecretKey;
|
|
36
|
+
/**
|
|
37
|
+
* Get account information (public method - limited data)
|
|
38
|
+
*/
|
|
39
|
+
getAccountInfo(): Promise<AccountPublic>;
|
|
40
|
+
/**
|
|
41
|
+
* Get verified ledgers (public method)
|
|
42
|
+
*/
|
|
43
|
+
getVerifiedLedgers(): Promise<LedgerPublic[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Get a verified ledger's canister ID by its symbol (public helper)
|
|
46
|
+
*/
|
|
47
|
+
getLedgerCanisterIdBySymbol(symbol: string): Promise<string>;
|
|
48
|
+
/**
|
|
49
|
+
* Trigger transaction sync from canister (public method)
|
|
50
|
+
*
|
|
51
|
+
* This method attempts to sync a transaction directly from the canister to the API database
|
|
52
|
+
* and returns the result immediately. This is useful when you know a transaction exists
|
|
53
|
+
* in the canister but it's not showing up in the API database yet.
|
|
54
|
+
*/
|
|
55
|
+
triggerTransactionSync(canisterTransactionId: number): Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* Fetch and cache account info, including icpayCanisterId (public method)
|
|
58
|
+
*/
|
|
59
|
+
private fetchAccountInfo;
|
|
60
|
+
/**
|
|
61
|
+
* Show wallet connection modal
|
|
62
|
+
*/
|
|
63
|
+
showWalletModal(): Promise<WalletConnectionResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Connect to a specific wallet provider
|
|
66
|
+
*/
|
|
67
|
+
connectWallet(providerId: string): Promise<WalletConnectionResult>;
|
|
68
|
+
/**
|
|
69
|
+
* Get available wallet providers
|
|
70
|
+
*/
|
|
71
|
+
getWalletProviders(): import("./types").WalletProvider[];
|
|
72
|
+
/**
|
|
73
|
+
* Check if a wallet provider is available
|
|
74
|
+
*/
|
|
75
|
+
isWalletProviderAvailable(providerId: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Get the connected wallet's account address
|
|
78
|
+
*/
|
|
79
|
+
getAccountAddress(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Get balance for a specific ledger canister
|
|
82
|
+
*/
|
|
83
|
+
getLedgerBalance(ledgerCanisterId: string): Promise<bigint>;
|
|
84
|
+
/**
|
|
85
|
+
* Create a simple memo with account canister ID as bytes
|
|
86
|
+
* Example: 1 => Uint8Array([1]), 2 => Uint8Array([2])
|
|
87
|
+
*/
|
|
88
|
+
private createMemoWithAccountCanisterId;
|
|
89
|
+
private createPackedMemo;
|
|
90
|
+
/**
|
|
91
|
+
* Send funds to a specific canister/ledger (public method)
|
|
92
|
+
* This is now a real transaction
|
|
93
|
+
*/
|
|
94
|
+
sendFunds(request: CreateTransactionRequest): Promise<TransactionResponse>;
|
|
95
|
+
/**
|
|
96
|
+
* Disconnect from wallet
|
|
97
|
+
*/
|
|
98
|
+
disconnectWallet(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Check if wallet is connected
|
|
101
|
+
*/
|
|
102
|
+
isWalletConnected(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Get the connected wallet provider
|
|
105
|
+
*/
|
|
106
|
+
getConnectedWalletProvider(): string | null;
|
|
107
|
+
/**
|
|
108
|
+
* Poll for transaction status using anonymous actor (no signature required)
|
|
109
|
+
*/
|
|
110
|
+
pollTransactionStatus(canisterId: string, transactionId: number, accountCanisterId: string, indexReceived: number, intervalMs?: number, maxAttempts?: number): Promise<any>;
|
|
111
|
+
/**
|
|
112
|
+
* Check if transaction status indicates completion
|
|
113
|
+
*/
|
|
114
|
+
private isTransactionCompleted;
|
|
115
|
+
/**
|
|
116
|
+
* Notify canister about ledger transaction using anonymous actor (no signature required)
|
|
117
|
+
*/
|
|
118
|
+
notifyLedgerTransaction(canisterId: string, ledgerCanisterId: string, blockIndex: bigint): Promise<string>;
|
|
119
|
+
getTransactionStatusPublic(canisterId: string, canisterTransactionId: number, indexReceived: number, accountCanisterId: string): Promise<any>;
|
|
120
|
+
/**
|
|
121
|
+
* Send funds to a ledger canister using agent-js
|
|
122
|
+
* Now uses host from config
|
|
123
|
+
*/
|
|
124
|
+
sendFundsToLedger(ledgerCanisterId: string, toPrincipal: string, amount: bigint, memo?: Uint8Array, host?: string): Promise<any>;
|
|
125
|
+
/**
|
|
126
|
+
* Get transaction by ID using get_transactions filter (alternative to get_transaction)
|
|
127
|
+
*/
|
|
128
|
+
getTransactionByFilter(transactionId: number): Promise<any>;
|
|
129
|
+
/**
|
|
130
|
+
* Get balance for all verified ledgers for the connected wallet (public method)
|
|
131
|
+
*/
|
|
132
|
+
getAllLedgerBalances(): Promise<AllLedgerBalances>;
|
|
133
|
+
/**
|
|
134
|
+
* Get balance for a specific ledger by canister ID (public method)
|
|
135
|
+
*/
|
|
136
|
+
getSingleLedgerBalance(ledgerCanisterId: string): Promise<LedgerBalance>;
|
|
137
|
+
/**
|
|
138
|
+
* Calculate token amount from USD price for a specific ledger (public method)
|
|
139
|
+
*/
|
|
140
|
+
calculateTokenAmountFromUSD(request: PriceCalculationRequest): Promise<PriceCalculationResult>;
|
|
141
|
+
/**
|
|
142
|
+
* Get detailed ledger information including price data (public method)
|
|
143
|
+
*/
|
|
144
|
+
getLedgerInfo(ledgerCanisterId: string): Promise<SdkLedger>;
|
|
145
|
+
/**
|
|
146
|
+
* Send funds from USD to a specific ledger (public method)
|
|
147
|
+
*/
|
|
148
|
+
sendFundsUsd(request: SendFundsUsdRequest): Promise<TransactionResponse>;
|
|
149
|
+
/**
|
|
150
|
+
* Get all ledgers with price information (public method)
|
|
151
|
+
*/
|
|
152
|
+
getAllLedgersWithPrices(): Promise<SdkLedger[]>;
|
|
153
|
+
/**
|
|
154
|
+
* Utility function to format balance from smallest unit to human readable
|
|
155
|
+
*/
|
|
156
|
+
private formatBalance;
|
|
157
|
+
}
|
|
158
|
+
export * from './types';
|
|
159
|
+
export { IcpayError } from './errors';
|
|
160
|
+
export { IcpayWallet } from './wallet';
|
|
161
|
+
export * from './events';
|
|
162
|
+
export default Icpay;
|
|
163
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|