sats-connect 0.1.1 → 0.1.3
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 +3 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/src/address/index.d.ts +1 -1
- package/dist/src/address/index.js +9 -4
- package/dist/src/address/index.js.map +1 -1
- package/dist/src/address/types.d.ts +17 -6
- package/dist/src/address/types.js +5 -1
- package/dist/src/address/types.js.map +1 -1
- package/dist/src/call/index.d.ts +16 -0
- package/dist/src/call/index.js +75 -0
- package/dist/src/call/index.js.map +1 -0
- package/dist/src/provider/index.d.ts +16 -0
- package/dist/src/provider/index.js +2 -0
- package/dist/src/provider/index.js.map +1 -0
- package/dist/src/transactions/signTransaction.d.ts +23 -0
- package/dist/src/transactions/signTransaction.js +70 -0
- package/dist/src/transactions/signTransaction.js.map +1 -0
- package/index.ts +1 -1
- package/package.json +1 -1
- package/src/address/index.ts +2 -2
- package/src/call/index.ts +1 -1
- package/src/provider/index.ts +3 -3
- package/src/transactions/{signPsbt.ts → signTransaction.ts} +6 -6
- package/dist/src/auth/index.d.ts +0 -11
- package/dist/src/auth/index.js +0 -126
- package/dist/src/auth/index.js.map +0 -1
- package/dist/src/auth/types.d.ts +0 -58
- package/dist/src/auth/types.js +0 -2
- package/dist/src/auth/types.js.map +0 -1
- package/dist/src/provider/bitcoin.provider.d.ts +0 -22
- package/dist/src/provider/bitcoin.provider.js +0 -6
- package/dist/src/provider/bitcoin.provider.js.map +0 -1
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './src/address/index';
|
|
2
|
-
export * from './src/provider
|
|
3
|
-
export * from './src/
|
|
2
|
+
export * from './src/provider';
|
|
3
|
+
export * from './src/call';
|
|
4
|
+
export * from './src/transactions/signTransaction';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC"}
|
|
@@ -34,21 +34,26 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
import { createUnsecuredToken } from 'jsontokens';
|
|
38
|
+
export var getAddress = function (options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
39
|
+
var _a, message, network, purposes, provider, request, addressResponse, error_1;
|
|
39
40
|
var _b, _c;
|
|
40
41
|
return __generator(this, function (_d) {
|
|
41
42
|
switch (_d.label) {
|
|
42
43
|
case 0:
|
|
43
|
-
_a = options.payload, message = _a.message, network = _a.network,
|
|
44
|
+
_a = options.payload, message = _a.message, network = _a.network, purposes = _a.purposes;
|
|
44
45
|
provider = window.BitcoinProvider;
|
|
45
46
|
if (!provider) {
|
|
46
47
|
throw new Error('No Bitcoin Wallet installed');
|
|
47
48
|
}
|
|
49
|
+
if (!purposes) {
|
|
50
|
+
throw new Error('Address purposes are required');
|
|
51
|
+
}
|
|
48
52
|
_d.label = 1;
|
|
49
53
|
case 1:
|
|
50
54
|
_d.trys.push([1, 3, , 4]);
|
|
51
|
-
|
|
55
|
+
request = createUnsecuredToken(options.payload);
|
|
56
|
+
return [4 /*yield*/, provider.getAddress(request)];
|
|
52
57
|
case 2:
|
|
53
58
|
addressResponse = _d.sent();
|
|
54
59
|
(_b = options.onFinish) === null || _b === void 0 ? void 0 : _b.call(options, addressResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAQ,MAAM,YAAY,CAAC;AAGxD,MAAM,CAAC,IAAM,UAAU,GAAG,UAAO,OAA0B;;;;;;gBACnD,KAAiC,OAAO,CAAC,OAAO,EAA9C,OAAO,aAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA,CAAqB;gBACjD,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;gBACxC,IAAI,CAAC,QAAQ,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBAChD;gBACD,IAAG,CAAC,QAAQ,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;iBAClD;;;;gBAEO,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAA0B,CAAC,CAAC;gBACjD,qBAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAA;;gBAApD,eAAe,GAAG,SAAkC;gBAC1D,MAAA,OAAO,CAAC,QAAQ,wDAAG,eAAe,CAAC,CAAC;;;;gBAEpC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,OAAK,CAAC,CAAC;gBAC/D,MAAA,OAAO,CAAC,QAAQ,uDAAI,CAAC;;;;;KAExB,CAAC;AAEF,cAAc,SAAS,CAAC"}
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
-
import { BitcoinNetwork
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BitcoinNetwork } from '../provider';
|
|
2
|
+
export declare enum AddressPurposes {
|
|
3
|
+
PAYMENT = "payment",
|
|
4
|
+
ORDINALS = "ordinals"
|
|
5
|
+
}
|
|
6
|
+
export interface Purpose {
|
|
7
|
+
derivation_path?: string;
|
|
8
|
+
purpose: AddressPurposes;
|
|
9
|
+
}
|
|
10
|
+
export interface GetAddressPayload {
|
|
11
|
+
purposes: Array<Purpose>;
|
|
4
12
|
message: string;
|
|
5
13
|
network: BitcoinNetwork;
|
|
6
14
|
}
|
|
7
|
-
export interface
|
|
15
|
+
export interface Address {
|
|
8
16
|
address: string;
|
|
9
|
-
|
|
17
|
+
publicKey: string;
|
|
18
|
+
purpose: Purpose;
|
|
19
|
+
}
|
|
20
|
+
export interface GetAddressResponse {
|
|
21
|
+
addresses: Array<Address>;
|
|
10
22
|
}
|
|
11
23
|
export interface GetAddressOptions {
|
|
12
24
|
onFinish: (response: GetAddressResponse) => void;
|
|
13
25
|
onCancel: () => void;
|
|
14
26
|
payload: GetAddressPayload;
|
|
15
27
|
}
|
|
16
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/address/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/address/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BitcoinNetwork } from '../provider';
|
|
2
|
+
export interface CallWalletPayload {
|
|
3
|
+
method: string;
|
|
4
|
+
network: BitcoinNetwork;
|
|
5
|
+
params?: Array<any>;
|
|
6
|
+
}
|
|
7
|
+
export interface CallWalletOptions {
|
|
8
|
+
onFinish: (response: Record<string, any>) => void;
|
|
9
|
+
onCancel: () => void;
|
|
10
|
+
payload: CallWalletPayload;
|
|
11
|
+
}
|
|
12
|
+
export declare enum CallMethod {
|
|
13
|
+
SIGN_TRANSACTION = "signTransaction",
|
|
14
|
+
GET_ADDRESS = "getAddress"
|
|
15
|
+
}
|
|
16
|
+
export declare const callWalletPopup: (options: CallWalletOptions) => Promise<void>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { createUnsecuredToken } from 'jsontokens';
|
|
38
|
+
export var CallMethod;
|
|
39
|
+
(function (CallMethod) {
|
|
40
|
+
CallMethod["SIGN_TRANSACTION"] = "signTransaction";
|
|
41
|
+
CallMethod["GET_ADDRESS"] = "getAddress";
|
|
42
|
+
})(CallMethod || (CallMethod = {}));
|
|
43
|
+
export var callWalletPopup = function (options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
+
var provider, method, request, callResponse, error_1;
|
|
45
|
+
var _a, _b;
|
|
46
|
+
return __generator(this, function (_c) {
|
|
47
|
+
switch (_c.label) {
|
|
48
|
+
case 0:
|
|
49
|
+
provider = window.BitcoinProvider;
|
|
50
|
+
method = options.payload.method;
|
|
51
|
+
if (!provider) {
|
|
52
|
+
throw new Error('No Bitcoin Wallet installed');
|
|
53
|
+
}
|
|
54
|
+
if (!method) {
|
|
55
|
+
throw new Error('A wallet method is required');
|
|
56
|
+
}
|
|
57
|
+
request = createUnsecuredToken(options.payload);
|
|
58
|
+
_c.label = 1;
|
|
59
|
+
case 1:
|
|
60
|
+
_c.trys.push([1, 3, , 4]);
|
|
61
|
+
return [4 /*yield*/, provider.call(request)];
|
|
62
|
+
case 2:
|
|
63
|
+
callResponse = _c.sent();
|
|
64
|
+
(_a = options.onFinish) === null || _a === void 0 ? void 0 : _a.call(options, callResponse);
|
|
65
|
+
return [3 /*break*/, 4];
|
|
66
|
+
case 3:
|
|
67
|
+
error_1 = _c.sent();
|
|
68
|
+
console.error('[Connect] Error during call request', error_1);
|
|
69
|
+
(_b = options.onCancel) === null || _b === void 0 ? void 0 : _b.call(options);
|
|
70
|
+
return [3 /*break*/, 4];
|
|
71
|
+
case 4: return [2 /*return*/];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}); };
|
|
75
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/call/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAQ,MAAM,YAAY,CAAC;AAexD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,kDAAoC,CAAA;IACpC,wCAA0B,CAAA;AAC5B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,UAAO,OAA0B;;;;;;gBACxD,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;gBAChC,MAAM,GAAK,OAAO,CAAC,OAAO,OAApB,CAAqB;gBACnC,IAAI,CAAC,QAAQ,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBAChD;gBACD,IAAG,CAAC,MAAM,EAAE;oBACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBAChD;gBACK,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAA0B,CAAC,CAAC;;;;gBAElD,qBAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;gBAA3C,YAAY,GAAG,SAA4B;gBACjD,MAAA,OAAO,CAAC,QAAQ,wDAAG,YAAY,CAAC,CAAC;;;;gBAEjC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAK,CAAC,CAAC;gBAC5D,MAAA,OAAO,CAAC,QAAQ,uDAAI,CAAC;;;;;KAExB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SignTransactionResponse } from '../transactions/signTransaction';
|
|
2
|
+
import { GetAddressResponse } from '../address';
|
|
3
|
+
export interface BitcoinNetwork {
|
|
4
|
+
type: string;
|
|
5
|
+
address: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BitcoinProvider {
|
|
8
|
+
getAddress: (request: string) => Promise<GetAddressResponse>;
|
|
9
|
+
call: (request: string) => Promise<Record<string, any>>;
|
|
10
|
+
signTransaction: (request: string) => Promise<SignTransactionResponse>;
|
|
11
|
+
}
|
|
12
|
+
declare global {
|
|
13
|
+
interface Window {
|
|
14
|
+
BitcoinProvider?: BitcoinProvider;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/provider/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BitcoinNetwork } from '../provider';
|
|
2
|
+
export interface InputToSign {
|
|
3
|
+
address: string;
|
|
4
|
+
signingIndexes: Array<number>;
|
|
5
|
+
sigHash?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface SignTransactionPayload {
|
|
8
|
+
network: BitcoinNetwork;
|
|
9
|
+
message: string;
|
|
10
|
+
psbtBase64: string;
|
|
11
|
+
broadcast?: boolean;
|
|
12
|
+
inputsToSign: InputToSign[];
|
|
13
|
+
}
|
|
14
|
+
export interface SignTransactionOptions {
|
|
15
|
+
payload: SignTransactionPayload;
|
|
16
|
+
onFinish: (response: any) => void;
|
|
17
|
+
onCancel: () => void;
|
|
18
|
+
}
|
|
19
|
+
export interface SignTransactionResponse {
|
|
20
|
+
psbtBase64: string;
|
|
21
|
+
txId?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const signTransaction: (options: SignTransactionOptions) => Promise<void>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { createUnsecuredToken } from 'jsontokens';
|
|
38
|
+
export var signTransaction = function (options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
39
|
+
var psbtBase64, provider, request, addressResponse, error_1;
|
|
40
|
+
var _a, _b;
|
|
41
|
+
return __generator(this, function (_c) {
|
|
42
|
+
switch (_c.label) {
|
|
43
|
+
case 0:
|
|
44
|
+
psbtBase64 = options.payload.psbtBase64;
|
|
45
|
+
provider = window.BitcoinProvider;
|
|
46
|
+
if (!provider) {
|
|
47
|
+
throw new Error('No Bitcoin Wallet installed');
|
|
48
|
+
}
|
|
49
|
+
if (!psbtBase64) {
|
|
50
|
+
throw new Error('a value for psbtBase64 representing the tx hash is required');
|
|
51
|
+
}
|
|
52
|
+
_c.label = 1;
|
|
53
|
+
case 1:
|
|
54
|
+
_c.trys.push([1, 3, , 4]);
|
|
55
|
+
request = createUnsecuredToken(options.payload);
|
|
56
|
+
return [4 /*yield*/, provider.signTransaction(request)];
|
|
57
|
+
case 2:
|
|
58
|
+
addressResponse = _c.sent();
|
|
59
|
+
(_a = options.onFinish) === null || _a === void 0 ? void 0 : _a.call(options, addressResponse);
|
|
60
|
+
return [3 /*break*/, 4];
|
|
61
|
+
case 3:
|
|
62
|
+
error_1 = _c.sent();
|
|
63
|
+
console.error('[Connect] Error during signPsbt request', error_1);
|
|
64
|
+
(_b = options.onCancel) === null || _b === void 0 ? void 0 : _b.call(options);
|
|
65
|
+
return [3 /*break*/, 4];
|
|
66
|
+
case 4: return [2 /*return*/];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}); };
|
|
70
|
+
//# sourceMappingURL=signTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../src/transactions/signTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAQ,MAAM,YAAY,CAAC;AA+BxD,MAAM,CAAC,IAAM,eAAe,GAAG,UAAO,OAA+B;;;;;;gBAC3D,UAAU,GAAK,OAAO,CAAC,OAAO,WAApB,CAAqB;gBACjC,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;gBACxC,IAAI,CAAC,QAAQ,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBAChD;gBACD,IAAI,CAAC,UAAU,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;iBAChF;;;;gBAES,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAA0B,CAAC,CAAC;gBACjD,qBAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,EAAA;;gBAAzD,eAAe,GAAG,SAAuC;gBAC/D,MAAA,OAAO,CAAC,QAAQ,wDAAG,eAAe,CAAC,CAAC;;;;gBAEpC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAK,CAAC,CAAC;gBAChE,MAAA,OAAO,CAAC,QAAQ,uDAAI,CAAC;;;;;KAE1B,CAAC"}
|
package/index.ts
CHANGED
package/package.json
CHANGED
package/src/address/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createUnsecuredToken, Json } from 'jsontokens';
|
|
2
2
|
import { GetAddressOptions } from './types';
|
|
3
3
|
|
|
4
|
-
export const
|
|
4
|
+
export const getAddress = async (options: GetAddressOptions) => {
|
|
5
5
|
const { message, network, purposes } = options.payload;
|
|
6
6
|
const provider = window.BitcoinProvider;
|
|
7
7
|
if (!provider) {
|
|
@@ -12,7 +12,7 @@ export const openConnectPopup = async (options: GetAddressOptions) => {
|
|
|
12
12
|
}
|
|
13
13
|
try {
|
|
14
14
|
const request = createUnsecuredToken(options.payload as unknown as Json);
|
|
15
|
-
const addressResponse = await provider.
|
|
15
|
+
const addressResponse = await provider.getAddress(request);
|
|
16
16
|
options.onFinish?.(addressResponse);
|
|
17
17
|
} catch (error) {
|
|
18
18
|
console.error('[Connect] Error during address request', error);
|
package/src/call/index.ts
CHANGED
package/src/provider/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SignTransactionResponse } from '../transactions/signTransaction';
|
|
2
2
|
import { GetAddressResponse } from '../address';
|
|
3
3
|
|
|
4
4
|
export interface BitcoinNetwork {
|
|
@@ -7,9 +7,9 @@ export interface BitcoinNetwork {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export interface BitcoinProvider {
|
|
10
|
-
|
|
10
|
+
getAddress: (request: string) => Promise<GetAddressResponse>;
|
|
11
11
|
call: (request: string) => Promise<Record<string, any>>;
|
|
12
|
-
|
|
12
|
+
signTransaction: (request: string) => Promise<SignTransactionResponse>;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
declare global {
|
|
@@ -9,7 +9,7 @@ export interface InputToSign {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
export interface
|
|
12
|
+
export interface SignTransactionPayload {
|
|
13
13
|
network: BitcoinNetwork;
|
|
14
14
|
message: string;
|
|
15
15
|
psbtBase64: string;
|
|
@@ -17,19 +17,19 @@ export interface SignPsbtPayload {
|
|
|
17
17
|
inputsToSign: InputToSign[];
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export interface
|
|
21
|
-
payload:
|
|
20
|
+
export interface SignTransactionOptions {
|
|
21
|
+
payload: SignTransactionPayload;
|
|
22
22
|
onFinish: (response: any) => void;
|
|
23
23
|
onCancel: () => void;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export interface
|
|
26
|
+
export interface SignTransactionResponse {
|
|
27
27
|
psbtBase64: string;
|
|
28
28
|
txId?: string;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
export const
|
|
32
|
+
export const signTransaction = async (options: SignTransactionOptions) => {
|
|
33
33
|
const { psbtBase64 } = options.payload;
|
|
34
34
|
const provider = window.BitcoinProvider;
|
|
35
35
|
if (!provider) {
|
|
@@ -40,7 +40,7 @@ export const openSignPsbtPopup = async (options: SignPsbtOptions) => {
|
|
|
40
40
|
}
|
|
41
41
|
try {
|
|
42
42
|
const request = createUnsecuredToken(options.payload as unknown as Json);
|
|
43
|
-
const addressResponse = await provider.
|
|
43
|
+
const addressResponse = await provider.signTransaction(request);
|
|
44
44
|
options.onFinish?.(addressResponse);
|
|
45
45
|
} catch (error) {
|
|
46
46
|
console.error('[Connect] Error during signPsbt request', error);
|
package/dist/src/auth/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { UserSession } from '@stacks/auth';
|
|
2
|
-
import type { AuthOptions } from './types';
|
|
3
|
-
export declare const isMobile: () => boolean;
|
|
4
|
-
/**
|
|
5
|
-
* mobile should not use a 'popup' type of window.
|
|
6
|
-
*/
|
|
7
|
-
export declare const shouldUsePopup: () => boolean;
|
|
8
|
-
export declare const getOrCreateUserSession: (userSession?: UserSession) => UserSession;
|
|
9
|
-
export declare const authenticate: (authOptions: AuthOptions) => Promise<void>;
|
|
10
|
-
export declare const getUserData: (userSession?: UserSession) => Promise<import("@stacks/auth").UserData | null>;
|
|
11
|
-
export * from './types';
|
package/dist/src/auth/index.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { AppConfig, UserSession } from '@stacks/auth';
|
|
38
|
-
import { decodeToken } from 'jsontokens';
|
|
39
|
-
var version = '0.0.1';
|
|
40
|
-
if (typeof window !== 'undefined') {
|
|
41
|
-
window.__CONNECT_VERSION__ = version;
|
|
42
|
-
}
|
|
43
|
-
export var isMobile = function () {
|
|
44
|
-
var ua = navigator.userAgent;
|
|
45
|
-
if (/android/i.test(ua)) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
if (/iPad|iPhone|iPod/.test(ua)) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
return /windows phone/i.test(ua);
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* mobile should not use a 'popup' type of window.
|
|
55
|
-
*/
|
|
56
|
-
export var shouldUsePopup = function () {
|
|
57
|
-
return !isMobile();
|
|
58
|
-
};
|
|
59
|
-
export var getOrCreateUserSession = function (userSession) {
|
|
60
|
-
if (!userSession) {
|
|
61
|
-
var appConfig = new AppConfig(['store_write'], document.location.href);
|
|
62
|
-
userSession = new UserSession({ appConfig: appConfig });
|
|
63
|
-
}
|
|
64
|
-
return userSession;
|
|
65
|
-
};
|
|
66
|
-
export var authenticate = function (authOptions) { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
-
var provider, _a, redirectTo, manifestPath, onFinish, onCancel, _b, sendToSignIn, _userSession, appDetails, userSession, transitKey, authRequest, authResponse, token, payload, authResponsePayload, error_1;
|
|
68
|
-
return __generator(this, function (_c) {
|
|
69
|
-
switch (_c.label) {
|
|
70
|
-
case 0:
|
|
71
|
-
provider = window.BitcoinProvider;
|
|
72
|
-
if (!provider) {
|
|
73
|
-
throw new Error('Unable to authenticate without a Bitcoin Wallet extension');
|
|
74
|
-
}
|
|
75
|
-
_a = authOptions.redirectTo, redirectTo = _a === void 0 ? '/' : _a, manifestPath = authOptions.manifestPath, onFinish = authOptions.onFinish, onCancel = authOptions.onCancel, _b = authOptions.sendToSignIn, sendToSignIn = _b === void 0 ? false : _b, _userSession = authOptions.userSession, appDetails = authOptions.appDetails;
|
|
76
|
-
userSession = getOrCreateUserSession(_userSession);
|
|
77
|
-
if (userSession.isUserSignedIn()) {
|
|
78
|
-
userSession.signUserOut();
|
|
79
|
-
}
|
|
80
|
-
transitKey = userSession.generateAndStoreTransitKey();
|
|
81
|
-
authRequest = userSession.makeAuthRequest(transitKey, "".concat(document.location.origin).concat(redirectTo), "".concat(document.location.origin).concat(manifestPath), userSession.appConfig.scopes, undefined, undefined, {
|
|
82
|
-
sendToSignIn: sendToSignIn,
|
|
83
|
-
appDetails: appDetails,
|
|
84
|
-
connectVersion: version,
|
|
85
|
-
});
|
|
86
|
-
_c.label = 1;
|
|
87
|
-
case 1:
|
|
88
|
-
_c.trys.push([1, 4, , 5]);
|
|
89
|
-
return [4 /*yield*/, provider.authenticationRequest(authRequest)];
|
|
90
|
-
case 2:
|
|
91
|
-
authResponse = _c.sent();
|
|
92
|
-
return [4 /*yield*/, userSession.handlePendingSignIn(authResponse)];
|
|
93
|
-
case 3:
|
|
94
|
-
_c.sent();
|
|
95
|
-
token = decodeToken(authResponse);
|
|
96
|
-
payload = token === null || token === void 0 ? void 0 : token.payload;
|
|
97
|
-
authResponsePayload = payload;
|
|
98
|
-
onFinish === null || onFinish === void 0 ? void 0 : onFinish({
|
|
99
|
-
authResponse: authResponse,
|
|
100
|
-
authResponsePayload: authResponsePayload,
|
|
101
|
-
userSession: userSession,
|
|
102
|
-
});
|
|
103
|
-
return [3 /*break*/, 5];
|
|
104
|
-
case 4:
|
|
105
|
-
error_1 = _c.sent();
|
|
106
|
-
console.error('[Connect] Error during auth request', error_1);
|
|
107
|
-
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
108
|
-
return [3 /*break*/, 5];
|
|
109
|
-
case 5: return [2 /*return*/];
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}); };
|
|
113
|
-
export var getUserData = function (userSession) { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
-
return __generator(this, function (_a) {
|
|
115
|
-
userSession = getOrCreateUserSession(userSession);
|
|
116
|
-
if (userSession.isUserSignedIn()) {
|
|
117
|
-
return [2 /*return*/, userSession.loadUserData()];
|
|
118
|
-
}
|
|
119
|
-
if (userSession.isSignInPending()) {
|
|
120
|
-
return [2 /*return*/, userSession.handlePendingSignIn()];
|
|
121
|
-
}
|
|
122
|
-
return [2 /*return*/, null];
|
|
123
|
-
});
|
|
124
|
-
}); };
|
|
125
|
-
export * from './types';
|
|
126
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/auth/types.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { UserSession } from "@stacks/auth";
|
|
2
|
-
export interface AuthResponsePayload {
|
|
3
|
-
private_key: string;
|
|
4
|
-
username: string | null;
|
|
5
|
-
hubUrl: string;
|
|
6
|
-
associationToken: string;
|
|
7
|
-
blockstackAPIUrl: string | null;
|
|
8
|
-
core_token: string | null;
|
|
9
|
-
email: string | null;
|
|
10
|
-
exp: number;
|
|
11
|
-
iat: number;
|
|
12
|
-
iss: string;
|
|
13
|
-
jti: string;
|
|
14
|
-
version: string;
|
|
15
|
-
profile: any;
|
|
16
|
-
profile_url: string;
|
|
17
|
-
public_keys: string[];
|
|
18
|
-
}
|
|
19
|
-
export interface FinishedAuthData {
|
|
20
|
-
authResponse: string;
|
|
21
|
-
authResponsePayload: AuthResponsePayload;
|
|
22
|
-
userSession: UserSession;
|
|
23
|
-
}
|
|
24
|
-
declare global {
|
|
25
|
-
interface Window {
|
|
26
|
-
__CONNECT_VERSION__?: string;
|
|
27
|
-
}
|
|
28
|
-
const __VERSION__: string;
|
|
29
|
-
}
|
|
30
|
-
export interface AuthOptions {
|
|
31
|
-
/** The URL you want the user to be redirected to after authentication. */
|
|
32
|
-
redirectTo?: string;
|
|
33
|
-
manifestPath?: string;
|
|
34
|
-
/**
|
|
35
|
-
* This callback is fired after authentication is finished.
|
|
36
|
-
* The callback is called with a single object argument, with three keys:
|
|
37
|
-
* `authResponse`: the raw `authResponse` string that is returned from authentication
|
|
38
|
-
* `authResponsePayload`: an AuthResponsePayload object
|
|
39
|
-
* `userSession`: a UserSession object with `userData` included
|
|
40
|
-
* */
|
|
41
|
-
onFinish?: (payload: FinishedAuthData) => void;
|
|
42
|
-
/** This callback is fired if the user exits before finishing */
|
|
43
|
-
onCancel?: () => void;
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated Authentication is no longer supported through a hosted
|
|
46
|
-
* version. Users must install an extension.
|
|
47
|
-
*/
|
|
48
|
-
authOrigin?: string;
|
|
49
|
-
/** If `sendToSignIn` is `true`, then the user will be sent through the sign in flow. */
|
|
50
|
-
sendToSignIn?: boolean;
|
|
51
|
-
userSession?: UserSession;
|
|
52
|
-
appDetails: {
|
|
53
|
-
/** A human-readable name for your application */
|
|
54
|
-
name: string;
|
|
55
|
-
/** A full URL that resolves to an image icon for your application */
|
|
56
|
-
icon: string;
|
|
57
|
-
};
|
|
58
|
-
}
|
package/dist/src/auth/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { GetAddressResponse } from '../address';
|
|
2
|
-
export declare enum AddressPurposes {
|
|
3
|
-
PAYMENT = "payment",
|
|
4
|
-
ORDINALS = "ordinals"
|
|
5
|
-
}
|
|
6
|
-
export interface Purpose {
|
|
7
|
-
derivation_path?: string;
|
|
8
|
-
purpose: AddressPurposes;
|
|
9
|
-
}
|
|
10
|
-
export interface BitcoinNetwork {
|
|
11
|
-
type: string;
|
|
12
|
-
address: string;
|
|
13
|
-
}
|
|
14
|
-
export interface BitcoinProvider {
|
|
15
|
-
getAddress: (purpose: Purpose, message: string, network?: BitcoinNetwork) => Promise<GetAddressResponse>;
|
|
16
|
-
authenticationRequest(payload: string): Promise<string>;
|
|
17
|
-
}
|
|
18
|
-
declare global {
|
|
19
|
-
interface Window {
|
|
20
|
-
BitcoinProvider?: BitcoinProvider;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin.provider.js","sourceRoot":"","sources":["../../../src/provider/bitcoin.provider.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
|