You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@stacks/network

Package Overview
Dependencies
Maintainers
4
Versions
666
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stacks/network - npm Package Compare versions

Comparing version
7.1.2-pr.0
to
7.1.2-pr.1
+1
-7
dist/esm/network.d.ts

@@ -1,2 +0,2 @@

import { FetchFn, ClientOpts, ApiKeyMiddlewareOpts } from '@stacks/common';
import { ClientOpts, FetchFn } from '@stacks/common';
import { ClientParam } from '@stacks/common';

@@ -32,7 +32,1 @@ export type StacksNetwork = {

export declare function clientFromNetwork(network: StacksNetwork): Required<ClientOpts>;
export declare function createNetwork(network: StacksNetworkName | StacksNetwork): StacksNetwork;
export declare function createNetwork(network: StacksNetworkName | StacksNetwork, apiKey: string): StacksNetwork;
export declare function createNetwork(options: {
network: StacksNetworkName | StacksNetwork;
client?: ClientOpts;
} & Partial<ApiKeyMiddlewareOpts>): StacksNetwork;

@@ -1,2 +0,2 @@

import { DEVNET_URL, HIRO_MAINNET_URL, HIRO_TESTNET_URL, createFetchFn, createApiKeyMiddleware, } from '@stacks/common';
import { DEVNET_URL, HIRO_MAINNET_URL, HIRO_TESTNET_URL, createFetchFn, } from '@stacks/common';
import { AddressVersion, ChainId, PeerNetworkId, TransactionVersion } from './constants';

@@ -76,31 +76,2 @@ export const STACKS_MAINNET = {

}
export function createNetwork(arg1, arg2) {
const baseNetwork = networkFrom(typeof arg1 === 'object' && 'network' in arg1 ? arg1.network : arg1);
const newNetwork = {
...baseNetwork,
addressVersion: { ...baseNetwork.addressVersion },
client: { ...baseNetwork.client },
};
if (typeof arg1 === 'object' && 'network' in arg1) {
if (arg1.client) {
newNetwork.client.baseUrl = arg1.client.baseUrl ?? newNetwork.client.baseUrl;
newNetwork.client.fetch = arg1.client.fetch ?? newNetwork.client.fetch;
}
if (typeof arg1.apiKey === 'string') {
const middleware = createApiKeyMiddleware(arg1);
newNetwork.client.fetch = newNetwork.client.fetch
? createFetchFn(newNetwork.client.fetch, middleware)
: createFetchFn(middleware);
}
return newNetwork;
}
if (typeof arg2 === 'string') {
const middleware = createApiKeyMiddleware({ apiKey: arg2 });
newNetwork.client.fetch = newNetwork.client.fetch
? createFetchFn(newNetwork.client.fetch, middleware)
: createFetchFn(middleware);
return newNetwork;
}
return newNetwork;
}
//# sourceMappingURL=network.js.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

import { FetchFn, ClientOpts, ApiKeyMiddlewareOpts } from '@stacks/common';
import { ClientOpts, FetchFn } from '@stacks/common';
import { ClientParam } from '@stacks/common';

@@ -32,7 +32,1 @@ export type StacksNetwork = {

export declare function clientFromNetwork(network: StacksNetwork): Required<ClientOpts>;
export declare function createNetwork(network: StacksNetworkName | StacksNetwork): StacksNetwork;
export declare function createNetwork(network: StacksNetworkName | StacksNetwork, apiKey: string): StacksNetwork;
export declare function createNetwork(options: {
network: StacksNetworkName | StacksNetwork;
client?: ClientOpts;
} & Partial<ApiKeyMiddlewareOpts>): StacksNetwork;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNetwork = exports.clientFromNetwork = exports.defaultUrlFromNetwork = exports.networkFrom = exports.networkFromName = exports.StacksNetworks = exports.STACKS_MOCKNET = exports.STACKS_DEVNET = exports.STACKS_TESTNET = exports.STACKS_MAINNET = void 0;
exports.clientFromNetwork = exports.defaultUrlFromNetwork = exports.networkFrom = exports.networkFromName = exports.StacksNetworks = exports.STACKS_MOCKNET = exports.STACKS_DEVNET = exports.STACKS_TESTNET = exports.STACKS_MAINNET = void 0;
const common_1 = require("@stacks/common");

@@ -83,32 +83,2 @@ const constants_1 = require("./constants");

exports.clientFromNetwork = clientFromNetwork;
function createNetwork(arg1, arg2) {
const baseNetwork = networkFrom(typeof arg1 === 'object' && 'network' in arg1 ? arg1.network : arg1);
const newNetwork = {
...baseNetwork,
addressVersion: { ...baseNetwork.addressVersion },
client: { ...baseNetwork.client },
};
if (typeof arg1 === 'object' && 'network' in arg1) {
if (arg1.client) {
newNetwork.client.baseUrl = arg1.client.baseUrl ?? newNetwork.client.baseUrl;
newNetwork.client.fetch = arg1.client.fetch ?? newNetwork.client.fetch;
}
if (typeof arg1.apiKey === 'string') {
const middleware = (0, common_1.createApiKeyMiddleware)(arg1);
newNetwork.client.fetch = newNetwork.client.fetch
? (0, common_1.createFetchFn)(newNetwork.client.fetch, middleware)
: (0, common_1.createFetchFn)(middleware);
}
return newNetwork;
}
if (typeof arg2 === 'string') {
const middleware = (0, common_1.createApiKeyMiddleware)({ apiKey: arg2 });
newNetwork.client.fetch = newNetwork.client.fetch
? (0, common_1.createFetchFn)(newNetwork.client.fetch, middleware)
: (0, common_1.createFetchFn)(middleware);
return newNetwork;
}
return newNetwork;
}
exports.createNetwork = createNetwork;
//# sourceMappingURL=network.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":";;;AAAA,2CAOwB;AACxB,2CAAyF;AA0B5E,QAAA,cAAc,GAAkB;IAC3C,OAAO,EAAE,mBAAO,CAAC,OAAO;IACxB,kBAAkB,EAAE,8BAAkB,CAAC,OAAO;IAC9C,aAAa,EAAE,yBAAa,CAAC,OAAO;IACpC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,+BAA+B;IAC5C,cAAc,EAAE;QACd,SAAS,EAAE,0BAAc,CAAC,gBAAgB;QAC1C,QAAQ,EAAE,0BAAc,CAAC,eAAe;KACzC;IACD,MAAM,EAAE,EAAE,OAAO,EAAE,yBAAgB,EAAE;CACtC,CAAC;AAEW,QAAA,cAAc,GAAkB;IAC3C,OAAO,EAAE,mBAAO,CAAC,OAAO;IACxB,kBAAkB,EAAE,8BAAkB,CAAC,OAAO;IAC9C,aAAa,EAAE,yBAAa,CAAC,OAAO;IACpC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,+BAA+B;IAC5C,cAAc,EAAE;QACd,SAAS,EAAE,0BAAc,CAAC,gBAAgB;QAC1C,QAAQ,EAAE,0BAAc,CAAC,eAAe;KACzC;IACD,MAAM,EAAE,EAAE,OAAO,EAAE,yBAAgB,EAAE;CACtC,CAAC;AAEW,QAAA,aAAa,GAAkB;IAC1C,GAAG,sBAAc;IACjB,cAAc,EAAE,EAAE,GAAG,sBAAc,CAAC,cAAc,EAAE;IACpD,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,EAAE,OAAO,EAAE,mBAAU,EAAE;CAChC,CAAC;AAEW,QAAA,cAAc,GAAkB;IAC3C,GAAG,qBAAa;IAChB,cAAc,EAAE,EAAE,GAAG,qBAAa,CAAC,cAAc,EAAE;IACnD,MAAM,EAAE,EAAE,GAAG,qBAAa,CAAC,MAAM,EAAE;CACpC,CAAC;AAGW,QAAA,cAAc,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAcnF,SAAgB,eAAe,CAAC,IAAuB;IACrD,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,OAAO,sBAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,sBAAc,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,qBAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,sBAAc,CAAC;QACxB;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;KACpD;AACH,CAAC;AAbD,0CAaC;AAGD,SAAgB,WAAW,CAAC,OAA0C;IACpE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,kCAGC;AAGD,SAAgB,qBAAqB,CAAC,OAA2C;IAC/E,IAAI,CAAC,OAAO;QAAE,OAAO,yBAAgB,CAAC;IAEtC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,kBAAkB,KAAK,8BAAkB,CAAC,OAAO;QAC1E,CAAC,CAAC,yBAAgB;QAClB,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI;YAC3B,CAAC,CAAC,mBAAU;YACZ,CAAC,CAAC,yBAAgB,CAAC;AACzB,CAAC;AAVD,sDAUC;AAKD,SAAgB,iBAAiB,CAAC,OAAsB;IACtD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,MAA8B,CAAC;IACxE,OAAO;QACL,GAAG,OAAO,CAAC,MAAM;QACjB,KAAK,EAAE,IAAA,sBAAa,GAAE;KACvB,CAAC;AACJ,CAAC;AAND,8CAMC"}

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.StacksNetwork=t():e.StacksNetwork=t()}(this,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AddressVersion:()=>s,ChainId:()=>n,DEFAULT_CHAIN_ID:()=>r,DEFAULT_TRANSACTION_VERSION:()=>c,PeerNetworkId:()=>i,STACKS_DEVNET:()=>V,STACKS_MAINNET:()=>O,STACKS_MOCKNET:()=>v,STACKS_TESTNET:()=>j,StacksNetworks:()=>A,TransactionVersion:()=>o,clientFromNetwork:()=>U,createNetwork:()=>_,defaultUrlFromNetwork:()=>E,networkFrom:()=>I,networkFromName:()=>P,whenTransactionVersion:()=>a});var n=(e=>(e[e.Mainnet=1]="Mainnet",e[e.Testnet=2147483648]="Testnet",e))(n||{}),i=(e=>(e[e.Mainnet=385875968]="Mainnet",e[e.Testnet=4278190080]="Testnet",e))(i||{});const r=1;var o=(e=>(e[e.Mainnet=0]="Mainnet",e[e.Testnet=128]="Testnet",e))(o||{}),s=(e=>(e[e.MainnetSingleSig=22]="MainnetSingleSig",e[e.MainnetMultiSig=20]="MainnetMultiSig",e[e.TestnetSingleSig=26]="TestnetSingleSig",e[e.TestnetMultiSig=21]="TestnetMultiSig",e))(s||{});const c=0;function a(e){return t=>t[e]}const l="https://api.mainnet.hiro.so",f="https://api.testnet.hiro.so",u="http://localhost:3999",d={referrerPolicy:"origin",headers:{"x-hiro-product":"stacksjs"}};async function p(e,t){const n={};return Object.assign(n,d,t),await fetch(e,n)}function g({apiKey:e,host:t=/(.*)api(.*)(\.stacks\.co|\.hiro\.so)$/i,httpHeader:n="x-api-key"}){return{pre:i=>{(function(e,t){return"string"==typeof t?t===e:t.exec(e)})(new URL(i.url).host,t)&&(i.init.headers instanceof Headers?i.init.headers:i.init.headers=new Headers(i.init.headers)).set(n,e)}}}function h(...e){const{fetchLib:t,middlewares:n}=function(e){let t=p,n=[];return e.length>0&&"function"==typeof e[0]&&(t=e.shift()),e.length>0&&(n=e),{fetchLib:t,middlewares:n}}(e);return async(e,i)=>{let r={url:e,init:i??{}};for(const e of n)"function"==typeof e.pre&&(r=await Promise.resolve(e.pre({fetch:t,...r}))??r);let o=await t(r.url,r.init);for(const e of n)if("function"==typeof e.post){const n=await Promise.resolve(e.post({fetch:t,url:r.url,init:r.init,response:o?.clone()??o}));o=n??o}return o}}var S=Object.defineProperty,y=Object.defineProperties,b=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?S(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&M(e,n,t[n]);if(T)for(var n of T(t))m.call(t,n)&&M(e,n,t[n]);return e},N=(e,t)=>y(e,b(t));const O={chainId:n.Mainnet,transactionVersion:o.Mainnet,peerNetworkId:i.Mainnet,magicBytes:"X2",bootAddress:"SP000000000000000000002Q6VF78",addressVersion:{singleSig:s.MainnetSingleSig,multiSig:s.MainnetMultiSig},client:{baseUrl:l}},j={chainId:n.Testnet,transactionVersion:o.Testnet,peerNetworkId:i.Testnet,magicBytes:"T2",bootAddress:"ST000000000000000000002AMW42H",addressVersion:{singleSig:s.TestnetSingleSig,multiSig:s.TestnetMultiSig},client:{baseUrl:f}},V=N(k({},j),{addressVersion:k({},j.addressVersion),magicBytes:"id",client:{baseUrl:u}}),v=N(k({},V),{addressVersion:k({},V.addressVersion),client:k({},V.client)}),A=["mainnet","testnet","devnet","mocknet"];function P(e){switch(e){case"mainnet":return O;case"testnet":return j;case"devnet":return V;case"mocknet":return v;default:throw new Error(`Unknown network name: ${e}`)}}function I(e){return"string"==typeof e?P(e):e}function E(e){return e&&(e=I(e))&&e.transactionVersion!==o.Mainnet?"id"===e.magicBytes?u:f:l}function U(e){return e.client.fetch?e.client:N(k({},e.client),{fetch:h()})}function _(e,t){var n,i;const r=I("object"==typeof e&&"network"in e?e.network:e),o=N(k({},r),{addressVersion:k({},r.addressVersion),client:k({},r.client)});if("object"==typeof e&&"network"in e){if(e.client&&(o.client.baseUrl=null!=(n=e.client.baseUrl)?n:o.client.baseUrl,o.client.fetch=null!=(i=e.client.fetch)?i:o.client.fetch),"string"==typeof e.apiKey){const t=g(e);o.client.fetch=o.client.fetch?h(o.client.fetch,t):h(t)}return o}if("string"==typeof t){const e=g({apiKey:t});return o.client.fetch=o.client.fetch?h(o.client.fetch,e):h(e),o}return o}return t})()));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.StacksNetwork=t():e.StacksNetwork=t()}(this,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AddressVersion:()=>s,ChainId:()=>n,DEFAULT_CHAIN_ID:()=>i,DEFAULT_TRANSACTION_VERSION:()=>a,PeerNetworkId:()=>r,STACKS_DEVNET:()=>j,STACKS_MAINNET:()=>N,STACKS_MOCKNET:()=>V,STACKS_TESTNET:()=>O,StacksNetworks:()=>v,TransactionVersion:()=>o,clientFromNetwork:()=>E,defaultUrlFromNetwork:()=>I,networkFrom:()=>P,networkFromName:()=>A,whenTransactionVersion:()=>c});var n=(e=>(e[e.Mainnet=1]="Mainnet",e[e.Testnet=2147483648]="Testnet",e))(n||{}),r=(e=>(e[e.Mainnet=385875968]="Mainnet",e[e.Testnet=4278190080]="Testnet",e))(r||{});const i=1;var o=(e=>(e[e.Mainnet=0]="Mainnet",e[e.Testnet=128]="Testnet",e))(o||{}),s=(e=>(e[e.MainnetSingleSig=22]="MainnetSingleSig",e[e.MainnetMultiSig=20]="MainnetMultiSig",e[e.TestnetSingleSig=26]="TestnetSingleSig",e[e.TestnetMultiSig=21]="TestnetMultiSig",e))(s||{});const a=0;function c(e){return t=>t[e]}const l="https://api.mainnet.hiro.so",u="https://api.testnet.hiro.so",d="http://localhost:3999",f={referrerPolicy:"origin",headers:{"x-hiro-product":"stacksjs"}};async function p(e,t){const n={};return Object.assign(n,f,t),await fetch(e,n)}function S(...e){const{fetchLib:t,middlewares:n}=function(e){let t=p,n=[];return e.length>0&&"function"==typeof e[0]&&(t=e.shift()),e.length>0&&(n=e),{fetchLib:t,middlewares:n}}(e);return async(e,r)=>{let i={url:e,init:r??{}};for(const e of n)"function"==typeof e.pre&&(i=await Promise.resolve(e.pre({fetch:t,...i}))??i);let o=await t(i.url,i.init);for(const e of n)if("function"==typeof e.post){const n=await Promise.resolve(e.post({fetch:t,url:i.url,init:i.init,response:o?.clone()??o}));o=n??o}return o}}var g=Object.defineProperty,T=Object.defineProperties,y=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,w=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t)=>{for(var n in t||(t={}))b.call(t,n)&&w(e,n,t[n]);if(m)for(var n of m(t))h.call(t,n)&&w(e,n,t[n]);return e},k=(e,t)=>T(e,y(t));const N={chainId:n.Mainnet,transactionVersion:o.Mainnet,peerNetworkId:r.Mainnet,magicBytes:"X2",bootAddress:"SP000000000000000000002Q6VF78",addressVersion:{singleSig:s.MainnetSingleSig,multiSig:s.MainnetMultiSig},client:{baseUrl:l}},O={chainId:n.Testnet,transactionVersion:o.Testnet,peerNetworkId:r.Testnet,magicBytes:"T2",bootAddress:"ST000000000000000000002AMW42H",addressVersion:{singleSig:s.TestnetSingleSig,multiSig:s.TestnetMultiSig},client:{baseUrl:u}},j=k(M({},O),{addressVersion:M({},O.addressVersion),magicBytes:"id",client:{baseUrl:d}}),V=k(M({},j),{addressVersion:M({},j.addressVersion),client:M({},j.client)}),v=["mainnet","testnet","devnet","mocknet"];function A(e){switch(e){case"mainnet":return N;case"testnet":return O;case"devnet":return j;case"mocknet":return V;default:throw new Error(`Unknown network name: ${e}`)}}function P(e){return"string"==typeof e?A(e):e}function I(e){return e&&(e=P(e))&&e.transactionVersion!==o.Mainnet?"id"===e.magicBytes?d:u:l}function E(e){return e.client.fetch?e.client:k(M({},e.client),{fetch:S()})}return t})()));
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","mappings":"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","sources":["webpack://StacksNetwork/webpack/universalModuleDefinition","webpack://StacksNetwork/webpack/bootstrap","webpack://StacksNetwork/webpack/runtime/define property getters","webpack://StacksNetwork/webpack/runtime/hasOwnProperty shorthand","webpack://StacksNetwork/webpack/runtime/make namespace object","webpack://StacksNetwork/./src/constants.ts","webpack://StacksNetwork/../common/dist/esm/constants.js","webpack://StacksNetwork/../common/dist/esm/fetch.js","webpack://StacksNetwork/./src/network.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"StacksNetwork\"] = factory();\n\telse\n\t\troot[\"StacksNetwork\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * The chain ID (unsigned 32-bit integer), used so transactions can't be replayed on other chains.\n * Similar to the {@link TransactionVersion}.\n */\nexport enum ChainId {\n Mainnet = 0x00000001,\n Testnet = 0x80000000,\n}\n\n/**\n * The **peer** network ID.\n * Typically not used in signing, but used for broadcasting to the P2P network.\n * It can also be used to determine the parent of a subnet.\n *\n * **Attention:**\n * For mainnet/testnet the v2/info response `.network_id` refers to the chain ID.\n * For subnets the v2/info response `.network_id` refers to the peer network ID and the chain ID (they are the same for subnets).\n * The `.parent_network_id` refers to the actual peer network ID (of the parent) in both cases.\n */\nexport enum PeerNetworkId {\n Mainnet = 0x17000000,\n Testnet = 0xff000000,\n}\n\nexport const DEFAULT_CHAIN_ID = ChainId.Mainnet;\n\n/**\n * The transaction version, used so transactions can't be replayed on other networks.\n * Similar to the {@link ChainId}.\n * Used internally for serializing and deserializing transactions.\n */\nexport enum TransactionVersion {\n Mainnet = 0x00,\n Testnet = 0x80,\n}\n\n/**\n * Address versions for identifying address types in an encoded Stacks address.\n * The address version is a single byte, indicating the address type.\n * Every Stacks address starts with `S` followed by a single character indicating the address version.\n * The second character is the c32-encoded AddressVersion byte.\n */\nexport enum AddressVersion {\n /** `P` — A single-sig address for mainnet (starting with `SP`) */\n MainnetSingleSig = 22,\n /** `M` — A multi-sig address for mainnet (starting with `SM`) */\n MainnetMultiSig = 20,\n /** `T` — A single-sig address for testnet (starting with `ST`) */\n TestnetSingleSig = 26,\n /** `N` — A multi-sig address for testnet (starting with `SN`) */\n TestnetMultiSig = 21,\n}\n\nexport const DEFAULT_TRANSACTION_VERSION = TransactionVersion.Mainnet;\n\n/** @ignore */\nexport function whenTransactionVersion(transactionVersion: TransactionVersion) {\n return <T>(map: Record<TransactionVersion, T>): T => map[transactionVersion];\n}\n","export const HIRO_MAINNET_URL = 'https://api.mainnet.hiro.so';\nexport const HIRO_TESTNET_URL = 'https://api.testnet.hiro.so';\nexport const DEVNET_URL = 'http://localhost:3999';\nexport const GAIA_URL = 'https://hub.blockstack.org';\nexport const PRIVATE_KEY_BYTES_COMPRESSED = 33;\nexport const PRIVATE_KEY_BYTES_UNCOMPRESSED = 32;\n//# sourceMappingURL=constants.js.map","const defaultFetchOpts = {\n referrerPolicy: 'origin',\n headers: {\n 'x-hiro-product': 'stacksjs',\n },\n};\nexport const getFetchOptions = () => {\n return defaultFetchOpts;\n};\nexport const setFetchOptions = (ops) => {\n return Object.assign(defaultFetchOpts, ops);\n};\nexport async function fetchWrapper(input, init) {\n const fetchOpts = {};\n Object.assign(fetchOpts, defaultFetchOpts, init);\n const fetchResult = await fetch(input, fetchOpts);\n return fetchResult;\n}\nexport function hostMatches(host, pattern) {\n if (typeof pattern === 'string')\n return pattern === host;\n return pattern.exec(host);\n}\nexport function createApiKeyMiddleware({ apiKey, host = /(.*)api(.*)(\\.stacks\\.co|\\.hiro\\.so)$/i, httpHeader = 'x-api-key', }) {\n return {\n pre: context => {\n const reqUrl = new URL(context.url);\n if (!hostMatches(reqUrl.host, host))\n return;\n const headers = context.init.headers instanceof Headers\n ? context.init.headers\n : (context.init.headers = new Headers(context.init.headers));\n headers.set(httpHeader, apiKey);\n },\n };\n}\nfunction argsForCreateFetchFn(args) {\n let fetchLib = fetchWrapper;\n let middlewares = [];\n if (args.length > 0 && typeof args[0] === 'function') {\n fetchLib = args.shift();\n }\n if (args.length > 0) {\n middlewares = args;\n }\n return { fetchLib, middlewares };\n}\nexport function createFetchFn(...args) {\n const { fetchLib, middlewares } = argsForCreateFetchFn(args);\n const fetchFn = async (url, init) => {\n let fetchParams = { url, init: init ?? {} };\n for (const middleware of middlewares) {\n if (typeof middleware.pre === 'function') {\n const result = await Promise.resolve(middleware.pre({\n fetch: fetchLib,\n ...fetchParams,\n }));\n fetchParams = result ?? fetchParams;\n }\n }\n let response = await fetchLib(fetchParams.url, fetchParams.init);\n for (const middleware of middlewares) {\n if (typeof middleware.post === 'function') {\n const result = await Promise.resolve(middleware.post({\n fetch: fetchLib,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response?.clone() ?? response,\n }));\n response = result ?? response;\n }\n }\n return response;\n };\n return fetchFn;\n}\n//# sourceMappingURL=fetch.js.map","import {\n DEVNET_URL,\n FetchFn,\n HIRO_MAINNET_URL,\n HIRO_TESTNET_URL,\n createFetchFn,\n createApiKeyMiddleware,\n ClientOpts,\n ApiKeyMiddlewareOpts,\n} from '@stacks/common';\nimport { AddressVersion, ChainId, PeerNetworkId, TransactionVersion } from './constants';\nimport { ClientParam } from '@stacks/common';\n\nexport type StacksNetwork = {\n chainId: number;\n transactionVersion: number;\n peerNetworkId: number;\n magicBytes: string;\n bootAddress: string;\n addressVersion: {\n singleSig: number;\n multiSig: number;\n };\n // todo: add check32 character bytes string\n client: {\n baseUrl: string; // URL is always required\n fetch?: FetchFn; // fetch is optional and will be created by default in fetch helpers\n };\n};\n\nexport interface NetworkParam {\n network?: StacksNetworkName | StacksNetwork;\n}\n\nexport type NetworkClientParam = NetworkParam & ClientParam;\n\nexport const STACKS_MAINNET: StacksNetwork = {\n chainId: ChainId.Mainnet,\n transactionVersion: TransactionVersion.Mainnet,\n peerNetworkId: PeerNetworkId.Mainnet,\n magicBytes: 'X2', // todo: comment bytes version of magic bytes\n bootAddress: 'SP000000000000000000002Q6VF78',\n addressVersion: {\n singleSig: AddressVersion.MainnetSingleSig,\n multiSig: AddressVersion.MainnetMultiSig,\n },\n client: { baseUrl: HIRO_MAINNET_URL },\n};\n\nexport const STACKS_TESTNET: StacksNetwork = {\n chainId: ChainId.Testnet,\n transactionVersion: TransactionVersion.Testnet,\n peerNetworkId: PeerNetworkId.Testnet,\n magicBytes: 'T2', // todo: comment bytes version of magic bytes\n bootAddress: 'ST000000000000000000002AMW42H',\n addressVersion: {\n singleSig: AddressVersion.TestnetSingleSig,\n multiSig: AddressVersion.TestnetMultiSig,\n },\n client: { baseUrl: HIRO_TESTNET_URL },\n};\n\nexport const STACKS_DEVNET: StacksNetwork = {\n ...STACKS_TESTNET, // todo: ensure deep copy\n addressVersion: { ...STACKS_TESTNET.addressVersion }, // deep copy\n magicBytes: 'id', // todo: comment bytes version of magic bytes\n client: { baseUrl: DEVNET_URL },\n};\n\nexport const STACKS_MOCKNET: StacksNetwork = {\n ...STACKS_DEVNET,\n addressVersion: { ...STACKS_DEVNET.addressVersion }, // deep copy\n client: { ...STACKS_DEVNET.client }, // deep copy\n};\n\n/** @ignore internal */\nexport const StacksNetworks = ['mainnet', 'testnet', 'devnet', 'mocknet'] as const;\n/** The enum-style names of different common Stacks networks */\nexport type StacksNetworkName = (typeof StacksNetworks)[number];\n\n/**\n * Returns the default network for a given name\n * @example\n * ```ts\n * networkFromName('mainnet') // same as STACKS_MAINNET\n * networkFromName('testnet') // same as STACKS_TESTNET\n * networkFromName('devnet') // same as STACKS_DEVNET\n * networkFromName('mocknet') // same as STACKS_MOCKNET\n * ```\n */\nexport function networkFromName(name: StacksNetworkName) {\n switch (name) {\n case 'mainnet':\n return STACKS_MAINNET;\n case 'testnet':\n return STACKS_TESTNET;\n case 'devnet':\n return STACKS_DEVNET;\n case 'mocknet':\n return STACKS_MOCKNET;\n default:\n throw new Error(`Unknown network name: ${name}`);\n }\n}\n\n/** @ignore */\nexport function networkFrom(network: StacksNetworkName | StacksNetwork) {\n if (typeof network === 'string') return networkFromName(network);\n return network;\n}\n\n/** @ignore */\nexport function defaultUrlFromNetwork(network?: StacksNetworkName | StacksNetwork) {\n if (!network) return HIRO_MAINNET_URL; // default to mainnet if no network is given\n\n network = networkFrom(network);\n\n return !network || network.transactionVersion === TransactionVersion.Mainnet\n ? HIRO_MAINNET_URL // default to mainnet if txVersion is mainnet\n : network.magicBytes === 'id'\n ? DEVNET_URL // default to devnet if magicBytes are devnet\n : HIRO_TESTNET_URL;\n}\n\n/**\n * Returns the client of a network, creating a new fetch function if none is available\n */\nexport function clientFromNetwork(network: StacksNetwork): Required<ClientOpts> {\n if (network.client.fetch) return network.client as Required<ClientOpts>;\n return {\n ...network.client,\n fetch: createFetchFn(),\n };\n}\n\n/**\n * Creates a customized Stacks network.\n *\n * This function allows you to create a network based on a predefined network\n * (mainnet, testnet, devnet, mocknet) or a custom network object. You can also customize\n * the network with an API key or other client options.\n *\n * @example\n * ```ts\n * // Create a basic network from a network name\n * const network = createNetwork('mainnet');\n * const network = createNetwork(STACKS_MAINNET);\n * ```\n *\n * @example\n * ```ts\n * // Create a network with an API key\n * const network = createNetwork('testnet', 'my-api-key');\n * const network = createNetwork(STACKS_TESTNET, 'my-api-key');\n * ```\n *\n * @example\n * ```ts\n * // Create a network with options object\n * const network = createNetwork({\n * network: 'mainnet',\n * apiKey: 'my-api-key',\n * });\n * ```\n *\n * @example\n * ```ts\n * // Create a network with options object with custom API key options\n * const network = createNetwork({\n * network: 'mainnet',\n * apiKey: 'my-api-key',\n * host: /\\.example\\.com$/, // default is /(.*)api(.*)(\\.stacks\\.co|\\.hiro\\.so)$/i\n * httpHeader: 'x-custom-api-key', // default is 'x-api-key'\n * });\n * ```\n *\n * @example\n * ```ts\n * // Create a network with custom client options\n * const network = createNetwork({\n * network: STACKS_TESTNET,\n * client: {\n * baseUrl: 'https://custom-api.example.com',\n * fetch: customFetchFunction\n * }\n * });\n * ```\n */\nexport function createNetwork(network: StacksNetworkName | StacksNetwork): StacksNetwork;\nexport function createNetwork(\n network: StacksNetworkName | StacksNetwork,\n apiKey: string\n): StacksNetwork;\nexport function createNetwork(\n options: {\n network: StacksNetworkName | StacksNetwork;\n client?: ClientOpts;\n } & Partial<ApiKeyMiddlewareOpts>\n): StacksNetwork;\nexport function createNetwork(\n arg1:\n | StacksNetworkName\n | StacksNetwork\n | ({\n network: StacksNetworkName | StacksNetwork;\n client?: ClientOpts;\n } & Partial<ApiKeyMiddlewareOpts>),\n arg2?: string\n): StacksNetwork {\n const baseNetwork = networkFrom(\n typeof arg1 === 'object' && 'network' in arg1 ? arg1.network : arg1\n );\n\n const newNetwork: StacksNetwork = {\n ...baseNetwork,\n addressVersion: { ...baseNetwork.addressVersion }, // deep copy\n client: { ...baseNetwork.client }, // deep copy\n };\n\n // Options object argument\n if (typeof arg1 === 'object' && 'network' in arg1) {\n if (arg1.client) {\n newNetwork.client.baseUrl = arg1.client.baseUrl ?? newNetwork.client.baseUrl;\n newNetwork.client.fetch = arg1.client.fetch ?? newNetwork.client.fetch;\n }\n\n if (typeof arg1.apiKey === 'string') {\n const middleware = createApiKeyMiddleware(arg1 as ApiKeyMiddlewareOpts);\n newNetwork.client.fetch = newNetwork.client.fetch\n ? createFetchFn(newNetwork.client.fetch, middleware)\n : createFetchFn(middleware);\n }\n\n return newNetwork;\n }\n\n // Additional API key argument\n if (typeof arg2 === 'string') {\n const middleware = createApiKeyMiddleware({ apiKey: arg2 });\n newNetwork.client.fetch = newNetwork.client.fetch\n ? createFetchFn(newNetwork.client.fetch, middleware)\n : createFetchFn(middleware);\n return newNetwork;\n }\n\n // Only network argument\n return newNetwork;\n}\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","ChainId","PeerNetworkId","DEFAULT_CHAIN_ID","TransactionVersion","AddressVersion","DEFAULT_TRANSACTION_VERSION","whenTransactionVersion","transactionVersion","map","HIRO_MAINNET_URL","HIRO_TESTNET_URL","DEVNET_URL","defaultFetchOpts","referrerPolicy","headers","async","fetchWrapper","input","init","fetchOpts","assign","fetch","createApiKeyMiddleware","apiKey","host","httpHeader","pre","context","pattern","exec","hostMatches","URL","url","Headers","set","createFetchFn","args","fetchLib","middlewares","length","shift","argsForCreateFetchFn","fetchParams","middleware","Promise","resolve","response","post","result","clone","STACKS_MAINNET","chainId","Mainnet","peerNetworkId","magicBytes","bootAddress","addressVersion","singleSig","MainnetSingleSig","multiSig","MainnetMultiSig","client","baseUrl","STACKS_TESTNET","Testnet","TestnetSingleSig","TestnetMultiSig","STACKS_DEVNET","STACKS_MOCKNET","StacksNetworks","networkFromName","name","Error","networkFrom","network","defaultUrlFromNetwork","clientFromNetwork","createNetwork","arg1","arg2","baseNetwork","newNetwork"],"sourceRoot":""}
{"version":3,"file":"index.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAuB,cAAID,IAE3BD,EAAoB,cAAIC,GACzB,CATD,CASGK,MAAM,I,mBCRT,IAAIC,EAAsB,CCA1BA,EAAwB,CAACL,EAASM,KACjC,IAAI,IAAIC,KAAOD,EACXD,EAAoBG,EAAEF,EAAYC,KAASF,EAAoBG,EAAER,EAASO,IAC5EE,OAAOC,eAAeV,EAASO,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDF,EAAwB,CAACQ,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFT,EAAyBL,IACH,oBAAXkB,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeV,EAASkB,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeV,EAAS,aAAc,CAAEoB,OAAO,GAAO,G,+XCDvD,IAAKC,EAAL,CAAKA,IACVA,EAAAA,EAAA,QAAU,GAAV,UACAA,EAAAA,EAAA,QAAU,YAAV,UAFUA,GAAL,CAAKA,GAAA,IAeAC,EAAL,CAAKA,IACVA,EAAAA,EAAA,QAAU,WAAV,UACAA,EAAAA,EAAA,QAAU,YAAV,UAFUA,GAAL,CAAKA,GAAA,IAKL,MAAMC,EAAmB,EAOzB,IAAKC,EAAL,CAAKA,IACVA,EAAAA,EAAA,QAAU,GAAV,UACAA,EAAAA,EAAA,QAAU,KAAV,UAFUA,GAAL,CAAKA,GAAA,IAWAC,EAAL,CAAKA,IAEVA,EAAAA,EAAA,iBAAmB,IAAnB,mBAEAA,EAAAA,EAAA,gBAAkB,IAAlB,kBAEAA,EAAAA,EAAA,iBAAmB,IAAnB,mBAEAA,EAAAA,EAAA,gBAAkB,IAAlB,kBARUA,GAAL,CAAKA,GAAA,IAWL,MAAMC,EAA8B,EAGpC,SAASC,EAAuBC,GACrC,OAAWC,GAA0CA,EAAID,EAC3D,CC1DO,MAAME,EAAmB,8BACnBC,EAAmB,8BACnBC,EAAa,wBCFpBC,EAAmB,CACrBC,eAAgB,SAChBC,QAAS,CACL,iBAAkB,aASnBC,eAAeC,EAAaC,EAAOC,GACtC,MAAMC,EAAY,CAAC,EAGnB,OAFA/B,OAAOgC,OAAOD,EAAWP,EAAkBM,SACjBG,MAAMJ,EAAOE,EAE3C,CA8BO,SAASG,KAAiBC,GAC7B,MAAM,SAAEC,EAAQ,YAAEC,GAZtB,SAA8BF,GAC1B,IAAIC,EAAWR,EACXS,EAAc,GAOlB,OANIF,EAAKG,OAAS,GAAwB,mBAAZH,EAAK,KAC/BC,EAAWD,EAAKI,SAEhBJ,EAAKG,OAAS,IACdD,EAAcF,GAEX,CAAEC,WAAUC,cACvB,CAEsCG,CAAqBL,GA0BvD,OAzBgBR,MAAOc,EAAKX,KACxB,IAAIY,EAAc,CAAED,MAAKX,KAAMA,GAAQ,CAAC,GACxC,IAAK,MAAMa,KAAcN,EACS,mBAAnBM,EAAWC,MAKlBF,QAJqBG,QAAQC,QAAQH,EAAWC,IAAI,CAChDX,MAAOG,KACJM,MAEiBA,GAGhC,IAAIK,QAAiBX,EAASM,EAAYD,IAAKC,EAAYZ,MAC3D,IAAK,MAAMa,KAAcN,EACrB,GAA+B,mBAApBM,EAAWK,KAAqB,CACvC,MAAMC,QAAeJ,QAAQC,QAAQH,EAAWK,KAAK,CACjDf,MAAOG,EACPK,IAAKC,EAAYD,IACjBX,KAAMY,EAAYZ,KAClBiB,SAAUA,GAAUG,SAAWH,KAEnCA,EAAWE,GAAUF,CACzB,CAEJ,OAAOA,CAAQ,CAGvB,C,6ZCzCO,MAAMI,EAAgC,CAC3CC,QAASxC,EAAQyC,QACjBlC,mBAAoBJ,EAAmBsC,QACvCC,cAAezC,EAAcwC,QAC7BE,WAAY,KACZC,YAAa,gCACbC,eAAgB,CACdC,UAAW1C,EAAe2C,iBAC1BC,SAAU5C,EAAe6C,iBAE3BC,OAAQ,CAAEC,QAAS1C,IAGR2C,EAAgC,CAC3CZ,QAASxC,EAAQqD,QACjB9C,mBAAoBJ,EAAmBkD,QACvCX,cAAezC,EAAcoD,QAC7BV,WAAY,KACZC,YAAa,gCACbC,eAAgB,CACdC,UAAW1C,EAAekD,iBAC1BN,SAAU5C,EAAemD,iBAE3BL,OAAQ,CAAEC,QAASzC,IAGR8C,EAA+B,OACvCJ,GADuC,CAE1CP,eAAgB,KAAKO,EAAeP,gBACpCF,WAAY,KACZO,OAAQ,CAAEC,QAASxC,KAGR8C,EAAgC,OACxCD,GADwC,CAE3CX,eAAgB,KAAKW,EAAcX,gBACnCK,OAAQ,KAAKM,EAAcN,UAIhBQ,EAAiB,CAAC,UAAW,UAAW,SAAU,WAcxD,SAASC,EAAgBC,GAC9B,OAAQA,GACN,IAAK,UACH,OAAOrB,EACT,IAAK,UACH,OAAOa,EACT,IAAK,SACH,OAAOI,EACT,IAAK,UACH,OAAOC,EACT,QACE,MAAM,IAAII,MAAM,yBAAyBD,KAE/C,CAGO,SAASE,EAAYC,GAC1B,MAAuB,iBAAZA,EAA6BJ,EAAgBI,GACjDA,CACT,CAGO,SAASC,EAAsBD,GACpC,OAAKA,IAELA,EAAUD,EAAYC,KAEHA,EAAQxD,qBAAuBJ,EAAmBsC,QAE1C,OAAvBsB,EAAQpB,WACNhC,EACAD,EAReD,CASvB,CAKO,SAASwD,EAAkBF,GAChC,OAAIA,EAAQb,OAAO7B,MAAc0C,EAAQb,OAClC,OACFa,EAAQb,QADN,CAEL7B,MAAOC,KAEX,C","sources":["webpack://StacksNetwork/webpack/universalModuleDefinition","webpack://StacksNetwork/webpack/bootstrap","webpack://StacksNetwork/webpack/runtime/define property getters","webpack://StacksNetwork/webpack/runtime/hasOwnProperty shorthand","webpack://StacksNetwork/webpack/runtime/make namespace object","webpack://StacksNetwork/./src/constants.ts","webpack://StacksNetwork/../common/dist/esm/constants.js","webpack://StacksNetwork/../common/dist/esm/fetch.js","webpack://StacksNetwork/./src/network.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"StacksNetwork\"] = factory();\n\telse\n\t\troot[\"StacksNetwork\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * The chain ID (unsigned 32-bit integer), used so transactions can't be replayed on other chains.\n * Similar to the {@link TransactionVersion}.\n */\nexport enum ChainId {\n Mainnet = 0x00000001,\n Testnet = 0x80000000,\n}\n\n/**\n * The **peer** network ID.\n * Typically not used in signing, but used for broadcasting to the P2P network.\n * It can also be used to determine the parent of a subnet.\n *\n * **Attention:**\n * For mainnet/testnet the v2/info response `.network_id` refers to the chain ID.\n * For subnets the v2/info response `.network_id` refers to the peer network ID and the chain ID (they are the same for subnets).\n * The `.parent_network_id` refers to the actual peer network ID (of the parent) in both cases.\n */\nexport enum PeerNetworkId {\n Mainnet = 0x17000000,\n Testnet = 0xff000000,\n}\n\nexport const DEFAULT_CHAIN_ID = ChainId.Mainnet;\n\n/**\n * The transaction version, used so transactions can't be replayed on other networks.\n * Similar to the {@link ChainId}.\n * Used internally for serializing and deserializing transactions.\n */\nexport enum TransactionVersion {\n Mainnet = 0x00,\n Testnet = 0x80,\n}\n\n/**\n * Address versions for identifying address types in an encoded Stacks address.\n * The address version is a single byte, indicating the address type.\n * Every Stacks address starts with `S` followed by a single character indicating the address version.\n * The second character is the c32-encoded AddressVersion byte.\n */\nexport enum AddressVersion {\n /** `P` — A single-sig address for mainnet (starting with `SP`) */\n MainnetSingleSig = 22,\n /** `M` — A multi-sig address for mainnet (starting with `SM`) */\n MainnetMultiSig = 20,\n /** `T` — A single-sig address for testnet (starting with `ST`) */\n TestnetSingleSig = 26,\n /** `N` — A multi-sig address for testnet (starting with `SN`) */\n TestnetMultiSig = 21,\n}\n\nexport const DEFAULT_TRANSACTION_VERSION = TransactionVersion.Mainnet;\n\n/** @ignore */\nexport function whenTransactionVersion(transactionVersion: TransactionVersion) {\n return <T>(map: Record<TransactionVersion, T>): T => map[transactionVersion];\n}\n","export const HIRO_MAINNET_URL = 'https://api.mainnet.hiro.so';\nexport const HIRO_TESTNET_URL = 'https://api.testnet.hiro.so';\nexport const DEVNET_URL = 'http://localhost:3999';\nexport const GAIA_URL = 'https://hub.blockstack.org';\nexport const PRIVATE_KEY_BYTES_COMPRESSED = 33;\nexport const PRIVATE_KEY_BYTES_UNCOMPRESSED = 32;\n//# sourceMappingURL=constants.js.map","const defaultFetchOpts = {\n referrerPolicy: 'origin',\n headers: {\n 'x-hiro-product': 'stacksjs',\n },\n};\nexport const getFetchOptions = () => {\n return defaultFetchOpts;\n};\nexport const setFetchOptions = (ops) => {\n return Object.assign(defaultFetchOpts, ops);\n};\nexport async function fetchWrapper(input, init) {\n const fetchOpts = {};\n Object.assign(fetchOpts, defaultFetchOpts, init);\n const fetchResult = await fetch(input, fetchOpts);\n return fetchResult;\n}\nexport function hostMatches(host, pattern) {\n if (typeof pattern === 'string')\n return pattern === host;\n return pattern.exec(host);\n}\nexport function createApiKeyMiddleware({ apiKey, host = /(.*)api(.*)(\\.stacks\\.co|\\.hiro\\.so)$/i, httpHeader = 'x-api-key', }) {\n return {\n pre: context => {\n const reqUrl = new URL(context.url);\n if (!hostMatches(reqUrl.host, host))\n return;\n const headers = context.init.headers instanceof Headers\n ? context.init.headers\n : (context.init.headers = new Headers(context.init.headers));\n headers.set(httpHeader, apiKey);\n },\n };\n}\nfunction argsForCreateFetchFn(args) {\n let fetchLib = fetchWrapper;\n let middlewares = [];\n if (args.length > 0 && typeof args[0] === 'function') {\n fetchLib = args.shift();\n }\n if (args.length > 0) {\n middlewares = args;\n }\n return { fetchLib, middlewares };\n}\nexport function createFetchFn(...args) {\n const { fetchLib, middlewares } = argsForCreateFetchFn(args);\n const fetchFn = async (url, init) => {\n let fetchParams = { url, init: init ?? {} };\n for (const middleware of middlewares) {\n if (typeof middleware.pre === 'function') {\n const result = await Promise.resolve(middleware.pre({\n fetch: fetchLib,\n ...fetchParams,\n }));\n fetchParams = result ?? fetchParams;\n }\n }\n let response = await fetchLib(fetchParams.url, fetchParams.init);\n for (const middleware of middlewares) {\n if (typeof middleware.post === 'function') {\n const result = await Promise.resolve(middleware.post({\n fetch: fetchLib,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response?.clone() ?? response,\n }));\n response = result ?? response;\n }\n }\n return response;\n };\n return fetchFn;\n}\n//# sourceMappingURL=fetch.js.map","import {\n ClientOpts,\n DEVNET_URL,\n FetchFn,\n HIRO_MAINNET_URL,\n HIRO_TESTNET_URL,\n createFetchFn,\n} from '@stacks/common';\nimport { AddressVersion, ChainId, PeerNetworkId, TransactionVersion } from './constants';\nimport { ClientParam } from '@stacks/common';\n\nexport type StacksNetwork = {\n chainId: number;\n transactionVersion: number; // todo: txVersion better?\n peerNetworkId: number;\n magicBytes: string;\n bootAddress: string;\n addressVersion: {\n singleSig: number;\n multiSig: number;\n };\n // todo: add check32 character bytes string\n client: {\n baseUrl: string; // URL is always required\n fetch?: FetchFn; // fetch is optional and will be created by default in fetch helpers\n };\n};\n\nexport interface NetworkParam {\n network?: StacksNetworkName | StacksNetwork;\n}\n\nexport type NetworkClientParam = NetworkParam & ClientParam;\n\nexport const STACKS_MAINNET: StacksNetwork = {\n chainId: ChainId.Mainnet,\n transactionVersion: TransactionVersion.Mainnet,\n peerNetworkId: PeerNetworkId.Mainnet,\n magicBytes: 'X2', // todo: comment bytes version of magic bytes\n bootAddress: 'SP000000000000000000002Q6VF78',\n addressVersion: {\n singleSig: AddressVersion.MainnetSingleSig,\n multiSig: AddressVersion.MainnetMultiSig,\n },\n client: { baseUrl: HIRO_MAINNET_URL },\n};\n\nexport const STACKS_TESTNET: StacksNetwork = {\n chainId: ChainId.Testnet,\n transactionVersion: TransactionVersion.Testnet,\n peerNetworkId: PeerNetworkId.Testnet,\n magicBytes: 'T2', // todo: comment bytes version of magic bytes\n bootAddress: 'ST000000000000000000002AMW42H',\n addressVersion: {\n singleSig: AddressVersion.TestnetSingleSig,\n multiSig: AddressVersion.TestnetMultiSig,\n },\n client: { baseUrl: HIRO_TESTNET_URL },\n};\n\nexport const STACKS_DEVNET: StacksNetwork = {\n ...STACKS_TESTNET, // todo: ensure deep copy\n addressVersion: { ...STACKS_TESTNET.addressVersion }, // deep copy\n magicBytes: 'id', // todo: comment bytes version of magic bytes\n client: { baseUrl: DEVNET_URL },\n};\n\nexport const STACKS_MOCKNET: StacksNetwork = {\n ...STACKS_DEVNET,\n addressVersion: { ...STACKS_DEVNET.addressVersion }, // deep copy\n client: { ...STACKS_DEVNET.client }, // deep copy\n};\n\n/** @ignore internal */\nexport const StacksNetworks = ['mainnet', 'testnet', 'devnet', 'mocknet'] as const;\n/** The enum-style names of different common Stacks networks */\nexport type StacksNetworkName = (typeof StacksNetworks)[number];\n\n/**\n * Returns the default network for a given name\n * @example\n * ```ts\n * networkFromName('mainnet') // same as STACKS_MAINNET\n * networkFromName('testnet') // same as STACKS_TESTNET\n * networkFromName('devnet') // same as STACKS_DEVNET\n * networkFromName('mocknet') // same as STACKS_MOCKNET\n * ```\n */\nexport function networkFromName(name: StacksNetworkName) {\n switch (name) {\n case 'mainnet':\n return STACKS_MAINNET;\n case 'testnet':\n return STACKS_TESTNET;\n case 'devnet':\n return STACKS_DEVNET;\n case 'mocknet':\n return STACKS_MOCKNET;\n default:\n throw new Error(`Unknown network name: ${name}`);\n }\n}\n\n/** @ignore */\nexport function networkFrom(network: StacksNetworkName | StacksNetwork) {\n if (typeof network === 'string') return networkFromName(network);\n return network;\n}\n\n/** @ignore */\nexport function defaultUrlFromNetwork(network?: StacksNetworkName | StacksNetwork) {\n if (!network) return HIRO_MAINNET_URL; // default to mainnet if no network is given\n\n network = networkFrom(network);\n\n return !network || network.transactionVersion === TransactionVersion.Mainnet\n ? HIRO_MAINNET_URL // default to mainnet if txVersion is mainnet\n : network.magicBytes === 'id'\n ? DEVNET_URL // default to devnet if magicBytes are devnet\n : HIRO_TESTNET_URL;\n}\n\n/**\n * Returns the client of a network, creating a new fetch function if none is available\n */\nexport function clientFromNetwork(network: StacksNetwork): Required<ClientOpts> {\n if (network.client.fetch) return network.client as Required<ClientOpts>;\n return {\n ...network.client,\n fetch: createFetchFn(),\n };\n}\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","ChainId","PeerNetworkId","DEFAULT_CHAIN_ID","TransactionVersion","AddressVersion","DEFAULT_TRANSACTION_VERSION","whenTransactionVersion","transactionVersion","map","HIRO_MAINNET_URL","HIRO_TESTNET_URL","DEVNET_URL","defaultFetchOpts","referrerPolicy","headers","async","fetchWrapper","input","init","fetchOpts","assign","fetch","createFetchFn","args","fetchLib","middlewares","length","shift","argsForCreateFetchFn","url","fetchParams","middleware","pre","Promise","resolve","response","post","result","clone","STACKS_MAINNET","chainId","Mainnet","peerNetworkId","magicBytes","bootAddress","addressVersion","singleSig","MainnetSingleSig","multiSig","MainnetMultiSig","client","baseUrl","STACKS_TESTNET","Testnet","TestnetSingleSig","TestnetMultiSig","STACKS_DEVNET","STACKS_MOCKNET","StacksNetworks","networkFromName","name","Error","networkFrom","network","defaultUrlFromNetwork","clientFromNetwork"],"sourceRoot":""}
{
"name": "@stacks/network",
"version": "7.1.2-pr.0+d24d3278",
"version": "7.1.2-pr.1+f44fb44b",
"description": "Library for Stacks network operations",

@@ -23,3 +23,3 @@ "license": "MIT",

"dependencies": {
"@stacks/common": "^7.1.2-pr.0+d24d3278",
"@stacks/common": "^7.1.2-pr.1+f44fb44b",
"cross-fetch": "^3.1.5"

@@ -56,3 +56,3 @@ },

},
"gitHead": "d24d32780ecff734d3d53ef42e2d2e61b98b6705"
"gitHead": "f44fb44bed6581f544441e16cd819504d9886bff"
}
import {
ClientOpts,
DEVNET_URL,

@@ -7,5 +8,2 @@ FetchFn,

createFetchFn,
createApiKeyMiddleware,
ClientOpts,
ApiKeyMiddlewareOpts,
} from '@stacks/common';

@@ -17,3 +15,3 @@ import { AddressVersion, ChainId, PeerNetworkId, TransactionVersion } from './constants';

chainId: number;
transactionVersion: number;
transactionVersion: number; // todo: txVersion better?
peerNetworkId: number;

@@ -137,115 +135,1 @@ magicBytes: string;

}
/**
* Creates a customized Stacks network.
*
* This function allows you to create a network based on a predefined network
* (mainnet, testnet, devnet, mocknet) or a custom network object. You can also customize
* the network with an API key or other client options.
*
* @example
* ```ts
* // Create a basic network from a network name
* const network = createNetwork('mainnet');
* const network = createNetwork(STACKS_MAINNET);
* ```
*
* @example
* ```ts
* // Create a network with an API key
* const network = createNetwork('testnet', 'my-api-key');
* const network = createNetwork(STACKS_TESTNET, 'my-api-key');
* ```
*
* @example
* ```ts
* // Create a network with options object
* const network = createNetwork({
* network: 'mainnet',
* apiKey: 'my-api-key',
* });
* ```
*
* @example
* ```ts
* // Create a network with options object with custom API key options
* const network = createNetwork({
* network: 'mainnet',
* apiKey: 'my-api-key',
* host: /\.example\.com$/, // default is /(.*)api(.*)(\.stacks\.co|\.hiro\.so)$/i
* httpHeader: 'x-custom-api-key', // default is 'x-api-key'
* });
* ```
*
* @example
* ```ts
* // Create a network with custom client options
* const network = createNetwork({
* network: STACKS_TESTNET,
* client: {
* baseUrl: 'https://custom-api.example.com',
* fetch: customFetchFunction
* }
* });
* ```
*/
export function createNetwork(network: StacksNetworkName | StacksNetwork): StacksNetwork;
export function createNetwork(
network: StacksNetworkName | StacksNetwork,
apiKey: string
): StacksNetwork;
export function createNetwork(
options: {
network: StacksNetworkName | StacksNetwork;
client?: ClientOpts;
} & Partial<ApiKeyMiddlewareOpts>
): StacksNetwork;
export function createNetwork(
arg1:
| StacksNetworkName
| StacksNetwork
| ({
network: StacksNetworkName | StacksNetwork;
client?: ClientOpts;
} & Partial<ApiKeyMiddlewareOpts>),
arg2?: string
): StacksNetwork {
const baseNetwork = networkFrom(
typeof arg1 === 'object' && 'network' in arg1 ? arg1.network : arg1
);
const newNetwork: StacksNetwork = {
...baseNetwork,
addressVersion: { ...baseNetwork.addressVersion }, // deep copy
client: { ...baseNetwork.client }, // deep copy
};
// Options object argument
if (typeof arg1 === 'object' && 'network' in arg1) {
if (arg1.client) {
newNetwork.client.baseUrl = arg1.client.baseUrl ?? newNetwork.client.baseUrl;
newNetwork.client.fetch = arg1.client.fetch ?? newNetwork.client.fetch;
}
if (typeof arg1.apiKey === 'string') {
const middleware = createApiKeyMiddleware(arg1 as ApiKeyMiddlewareOpts);
newNetwork.client.fetch = newNetwork.client.fetch
? createFetchFn(newNetwork.client.fetch, middleware)
: createFetchFn(middleware);
}
return newNetwork;
}
// Additional API key argument
if (typeof arg2 === 'string') {
const middleware = createApiKeyMiddleware({ apiKey: arg2 });
newNetwork.client.fetch = newNetwork.client.fetch
? createFetchFn(newNetwork.client.fetch, middleware)
: createFetchFn(middleware);
return newNetwork;
}
// Only network argument
return newNetwork;
}