@fivenorth/loop-sdk 0.10.0 → 0.11.1
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 +70 -0
- package/dist/connection.d.ts +40 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +290 -0
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +33 -0
- package/dist/extensions/usdc/index.d.ts +11 -0
- package/dist/extensions/usdc/index.d.ts.map +1 -0
- package/dist/extensions/usdc/index.js +52 -0
- package/dist/extensions/usdc/types.d.ts +25 -0
- package/dist/extensions/usdc/types.d.ts.map +1 -0
- package/dist/extensions/usdc/types.js +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +284 -229
- package/dist/provider.d.ts +61 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +247 -0
- package/dist/server/index.d.ts +23 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +117 -0
- package/dist/server/signer.d.ts +15 -0
- package/dist/server/signer.d.ts.map +1 -0
- package/dist/server/signer.js +56 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +38 -0
- package/dist/session.d.ts +39 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +92 -0
- package/dist/types.d.ts +116 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/wallet.d.ts +10 -0
- package/dist/wallet.d.ts.map +1 -0
- package/dist/wallet.js +22 -0
- package/package.json +21 -4
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { UsdcBridgeExtension } from './extensions/usdc/types';
|
|
2
|
+
export type Network = 'devnet' | 'testnet' | 'mainnet' | 'local' | 'dev' | 'test' | 'main';
|
|
3
|
+
export type UsdcBridgeAccessType = 'not_requested' | 'pending' | 'granted';
|
|
4
|
+
export type Account = {
|
|
5
|
+
party_id: string;
|
|
6
|
+
auth_token: string;
|
|
7
|
+
public_key: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
has_preapproval?: boolean;
|
|
10
|
+
has_merge_delegation?: boolean;
|
|
11
|
+
usdc_bridge_access?: UsdcBridgeAccessType;
|
|
12
|
+
};
|
|
13
|
+
export declare enum MessageType {
|
|
14
|
+
HANDSHAKE_ACCEPT = "handshake_accept",
|
|
15
|
+
HANDSHAKE_REJECT = "handshake_reject",
|
|
16
|
+
RUN_TRANSACTION = "run_transaction",
|
|
17
|
+
TRANSACTION_COMPLETED = "transaction_completed",
|
|
18
|
+
SIGN_RAW_MESSAGE = "sign_raw_message",
|
|
19
|
+
SIGN_RAW_MESSAGE_RESPONSE = "sign_raw_message_response",
|
|
20
|
+
REJECT_REQUEST = "reject_request"
|
|
21
|
+
}
|
|
22
|
+
export type InstrumentId = {
|
|
23
|
+
admin: string;
|
|
24
|
+
id: string;
|
|
25
|
+
};
|
|
26
|
+
export type Holding = {
|
|
27
|
+
instrument_id: InstrumentId;
|
|
28
|
+
decimals: number;
|
|
29
|
+
symbol: string;
|
|
30
|
+
org_name: string;
|
|
31
|
+
total_unlocked_coin: string;
|
|
32
|
+
total_locked_coin: string;
|
|
33
|
+
image: string;
|
|
34
|
+
};
|
|
35
|
+
export type ActiveContract = {
|
|
36
|
+
template_id: string;
|
|
37
|
+
contract_id: string;
|
|
38
|
+
[key: string]: any;
|
|
39
|
+
};
|
|
40
|
+
export type Instrument = {
|
|
41
|
+
instrument_admin?: string;
|
|
42
|
+
instrument_id: string;
|
|
43
|
+
};
|
|
44
|
+
export type TransferRequest = {
|
|
45
|
+
recipient: string;
|
|
46
|
+
amount: string;
|
|
47
|
+
instrument?: Instrument;
|
|
48
|
+
requested_at?: string;
|
|
49
|
+
execute_before?: string;
|
|
50
|
+
memo?: string;
|
|
51
|
+
};
|
|
52
|
+
export type TransactionPayload = {
|
|
53
|
+
commands: any[];
|
|
54
|
+
disclosedContracts: any[];
|
|
55
|
+
packageIdSelectionPreference?: string[];
|
|
56
|
+
actAs?: string[];
|
|
57
|
+
readAs?: string[];
|
|
58
|
+
synchronizerId?: string;
|
|
59
|
+
};
|
|
60
|
+
export type PreparedTransferPayload = {
|
|
61
|
+
actAs: string[];
|
|
62
|
+
readAs: string[];
|
|
63
|
+
synchronizerId: string;
|
|
64
|
+
commands: any[];
|
|
65
|
+
disclosedContracts: any[];
|
|
66
|
+
packageIdSelectionPreference: string[];
|
|
67
|
+
};
|
|
68
|
+
export type ConnectTransferResponse = {
|
|
69
|
+
payload: PreparedTransferPayload;
|
|
70
|
+
};
|
|
71
|
+
export type RunTransactionResponse = {
|
|
72
|
+
command_id: string;
|
|
73
|
+
submission_id?: string;
|
|
74
|
+
estimated_traffic?: unknown;
|
|
75
|
+
update_data?: unknown;
|
|
76
|
+
update_id?: string;
|
|
77
|
+
status?: 'succeeded' | 'failed';
|
|
78
|
+
error?: SubmissionError;
|
|
79
|
+
};
|
|
80
|
+
export type SubmissionError = {
|
|
81
|
+
error_message: string;
|
|
82
|
+
};
|
|
83
|
+
export type TransferOptions = {
|
|
84
|
+
requestedAt?: string | Date;
|
|
85
|
+
executeBefore?: string | Date;
|
|
86
|
+
requestTimeout?: number;
|
|
87
|
+
memo?: string;
|
|
88
|
+
message?: string;
|
|
89
|
+
executionMode?: 'async' | 'wait';
|
|
90
|
+
estimateTraffic?: boolean;
|
|
91
|
+
};
|
|
92
|
+
export type InstrumentSpec = Instrument;
|
|
93
|
+
export interface Wallet {
|
|
94
|
+
transfer(recipient: string, amount: string | number, instrument?: InstrumentSpec, options?: TransferOptions): Promise<any>;
|
|
95
|
+
extension: {
|
|
96
|
+
usdcBridge: UsdcBridgeExtension;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export type ExchangeApiKeyResponse = {
|
|
100
|
+
api_key: string;
|
|
101
|
+
auth_token: string;
|
|
102
|
+
email?: string;
|
|
103
|
+
ticket_id: string;
|
|
104
|
+
session_id: string;
|
|
105
|
+
};
|
|
106
|
+
export type PreparedSubmissionResponse = {
|
|
107
|
+
command_id: string;
|
|
108
|
+
transaction_hash: string;
|
|
109
|
+
transaction_data: string;
|
|
110
|
+
};
|
|
111
|
+
export type ExecuteSubmissionResquest = {
|
|
112
|
+
command_id: string;
|
|
113
|
+
transaction_data: string;
|
|
114
|
+
signature: string;
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var MessageType;
|
|
2
|
+
(function (MessageType) {
|
|
3
|
+
MessageType["HANDSHAKE_ACCEPT"] = "handshake_accept";
|
|
4
|
+
MessageType["HANDSHAKE_REJECT"] = "handshake_reject";
|
|
5
|
+
MessageType["RUN_TRANSACTION"] = "run_transaction";
|
|
6
|
+
MessageType["TRANSACTION_COMPLETED"] = "transaction_completed";
|
|
7
|
+
MessageType["SIGN_RAW_MESSAGE"] = "sign_raw_message";
|
|
8
|
+
MessageType["SIGN_RAW_MESSAGE_RESPONSE"] = "sign_raw_message_response";
|
|
9
|
+
MessageType["REJECT_REQUEST"] = "reject_request";
|
|
10
|
+
})(MessageType || (MessageType = {}));
|
package/dist/wallet.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InstrumentSpec, TransferOptions, Wallet } from './types';
|
|
2
|
+
import type { Provider } from './provider';
|
|
3
|
+
export declare class LoopWallet implements Wallet {
|
|
4
|
+
private getProvider;
|
|
5
|
+
extension: Wallet['extension'];
|
|
6
|
+
constructor(getProvider: () => Provider | null);
|
|
7
|
+
private requireProvider;
|
|
8
|
+
transfer(recipient: string, amount: string | number, instrument?: InstrumentSpec, options?: TransferOptions): Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,WAAW,CAAwB;IACpC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE1B,WAAW,EAAE,MAAM,QAAQ,GAAG,IAAI;IAO9C,OAAO,CAAC,eAAe;IAQvB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAI3H"}
|
package/dist/wallet.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { UsdcBridge } from './extensions/usdc';
|
|
2
|
+
export class LoopWallet {
|
|
3
|
+
getProvider;
|
|
4
|
+
extension;
|
|
5
|
+
constructor(getProvider) {
|
|
6
|
+
this.getProvider = getProvider;
|
|
7
|
+
this.extension = {
|
|
8
|
+
usdcBridge: new UsdcBridge(this.getProvider),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
requireProvider() {
|
|
12
|
+
const provider = this.getProvider();
|
|
13
|
+
if (!provider) {
|
|
14
|
+
throw new Error('SDK not connected. Call connect() and wait for acceptance first.');
|
|
15
|
+
}
|
|
16
|
+
return provider;
|
|
17
|
+
}
|
|
18
|
+
transfer(recipient, amount, instrument, options) {
|
|
19
|
+
const provider = this.requireProvider();
|
|
20
|
+
return provider.transfer(recipient, amount, instrument, options);
|
|
21
|
+
}
|
|
22
|
+
}
|
package/package.json
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fivenorth/loop-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"author": "support@fivenorth.io",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"@types/bun": "latest"
|
|
8
|
+
"@types/bun": "latest",
|
|
9
|
+
"@types/node-forge": "^1.3.14"
|
|
9
10
|
},
|
|
10
11
|
"peerDependencies": {
|
|
11
|
-
"typescript": "^5"
|
|
12
|
+
"typescript": "^5",
|
|
13
|
+
"node-forge": "^1.3.3"
|
|
14
|
+
},
|
|
15
|
+
"peerDependenciesMeta": {
|
|
16
|
+
"node-forge": {
|
|
17
|
+
"optional": true
|
|
18
|
+
}
|
|
12
19
|
},
|
|
13
20
|
"files": [
|
|
14
21
|
"dist"
|
|
@@ -18,12 +25,22 @@
|
|
|
18
25
|
},
|
|
19
26
|
"repository": "github:fivenorth-io/loop-sdk",
|
|
20
27
|
"scripts": {
|
|
21
|
-
"build": "bun build ./src/index.ts --outdir ./dist",
|
|
28
|
+
"build": "bun tsc && bun build ./src/index.ts --outdir ./dist --target browser --format esm",
|
|
22
29
|
"prepublishOnly": "bun run build",
|
|
23
30
|
"start": "bun run src/server.ts"
|
|
24
31
|
},
|
|
25
32
|
"type": "module",
|
|
26
33
|
"types": "dist/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/index.d.ts",
|
|
37
|
+
"default": "./dist/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./server": {
|
|
40
|
+
"types": "./dist/server/index.d.ts",
|
|
41
|
+
"default": "./dist/server/index.js"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
27
44
|
"dependencies": {
|
|
28
45
|
"@types/qrcode": "^1.5.6",
|
|
29
46
|
"qrcode": "^1.5.4"
|