fleet-sdk / fleet Goto Github PK
View Code? Open in Web Editor NEW🦾 Simple, powerful, and extensible Ergo Blockchain SDK
Home Page: https://fleet-sdk.github.io/docs/
License: MIT License
🦾 Simple, powerful, and extensible Ergo Blockchain SDK
Home Page: https://fleet-sdk.github.io/docs/
License: MIT License
From release CI output:
error an error occurred while publishing fleet-sdk: E403 403 Forbidden - PUT https://registry.npmjs.org/fleet-sdk - Package name too similar to existing package fleet_sdk; try renaming your package to '@capt-nemo/fleet-sdk' and publishing with 'npm publish --access=public' instead
The same occurs when trying with fleetsdk
, should we reopen #31?
Upon what i felt was the successful formation of registers in a contract, the tx allowed me to sign and then graphQL gave Error 2 back about the number 0 being invalid in one of the registers.. the value being used is "0400"
blake2b256
function is not validating string inputs and encoding them as UTF-8
before to hash.
blake2b256(UInt8Array.from([0xde, 0xad, 0xbe, 0xef]))
and blake2b256("deadbeef")
must be the same.string
nor a UInt8Array
.All packages must implement and extend the following interface and throw a NotSupportedError
for not supported operations:
fleet/packages/common/src/types/chainClients.ts
Lines 40 to 65 in edc2836
This would allow one to mock a box by simply calling mockUTxO({ ergoTree: "deadbeef..." })
In short, I think Fleet is a great name, but it does not reflect the specific purpose of our Ergo SDK. Should we rename it?
Fleet is a catchy name that fits well in the Nautilus narrative, but it may cause confusion for newcomers. We often see them choosing outdated and unsafe libraries like ergo-ts
and ergo-js
over actively maintained ones like AppKit, sigma-rust, or Fleet.
I believe this is partly due to the naming. The tooling name should clearly indicate its purpose and scope. Therefore, I would like to hear your opinion on renaming Fleet to something that includes Ergo/ERG in its name.
Some possible alternatives are:
v1.0 is quite close and that will represent breaking changes for implementors, so if we are going to rename it, a major release is a good opportunity for it.
I would love to know your opinions and suggestions on this proposal.
TypeScript Enums are bad, consider replacing them by plain objects for improved compatibility and efficiency.
Plain object enum example:
export const ergoTreeHeaderFlags = {
sizeInclusion: 0x08,
constantSegregation: 0x10
} as const;
export type ErgoTreeHeaderFlag = (typeof ergoTreeHeaderFlags)[keyof typeof ergoTreeHeaderFlags];
Include:
core
common
serializer
crypto
This will allow cross compatibility with Sigma.JS serializer.
from discord:
@capt_nemo @anon_br when I mint and transfer a token in one box as such
const singletonMintOutput = new OutputBuilder(mintTarget, changeAddress)
.addTokens(parentToken)
.mintToken({
amount: BigInt(1),
name: "SubNames Child Singleton",
decimals: 0,
description: "test"
})I get the minted token at index 0 and the transferred one at index 1
is there anyway it can be done such that it is in order or the arguments?
so in the posted code, the transferred token should have been at index 0
Script reduced to false input(n)
is the only error which appears when register conditions are not met.
Verbose logging on which register of which output is malformed versus what the contract expects, and potentially why - would be incredibly helpful for front end developers who may be relying on web searches or limited instructions to debug information with ergo contract implementations.
Currently only, hex strings are supported.
Build a GraphQL client from what is started at graphql-client in the dev branch.
BoxQuery
type to allow queries by multiple contracts
(ErgoTrees) and boxIds
.@urql/core
package as GraphQL client. sigmafi-ui repo has a good example on how to use it with ergo-graphql.From MGpai on discord:
import { Network } from "@fleet-sdk/core"
^^^^^^^
SyntaxError: Named export 'Network' not found. The requested module '@fleet-sdk/core' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from '@fleet-sdk/core';
const { Network } = pkg;
at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)
Node.js v18.18.2
From @ross-weir on discord:
To fix ^ we either need to change the compiled esm files to be index.esm.js -> index.mjs or add type: module to package.json in all packages and update file extension of commonjs files index.cjs.js -> index.cjs
Fixed by greenhat and merged to develop branch of sigma-rust
ErgoHDKey.isNeutered
to check if key contains private dataErgoHDKey.isExtended
to check if key contains the chain codeA declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.