diff --git a/libs/awcp/jex.eterms b/libs/awcp/jex.eterms
index ef329f8..79587b0 100644
--- a/libs/awcp/jex.eterms
+++ b/libs/awcp/jex.eterms
@@ -1,5 +1,5 @@
{type, library}.
{realm, local}.
{name, awcp}.
-{version, "0.2.1"}.
+{version, "0.2.2"}.
{deps, []}.
diff --git a/libs/awcp/src/awcp.ts b/libs/awcp/src/awcp.ts
index 6e3b9d1..5c24b6f 100644
--- a/libs/awcp/src/awcp.ts
+++ b/libs/awcp/src/awcp.ts
@@ -257,13 +257,13 @@ export {
RpcResp_W2A_address_subscribe,
EventData_A2W_address_subscribe,
EventData_W2A_address_subscribe,
- //// transaction.sign (propagate)
- //Params_A2W_tx_sign_yesprop,
- //Result_W2A_tx_sign_yesprop,
- //RpcCall_A2W_tx_sign_yesprop,
- //RpcResp_W2A_tx_sign_yesprop,
- //EventData_A2W_tx_sign_yesprop,
- //EventData_W2A_tx_sign_yesprop,
+ // transaction.sign (propagate)
+ Params_A2W_tx_sign_yesprop,
+ Result_W2A_tx_sign_yesprop,
+ RpcCall_A2W_tx_sign_yesprop,
+ RpcResp_W2A_tx_sign_yesprop,
+ EventData_A2W_tx_sign_yesprop,
+ EventData_W2A_tx_sign_yesprop,
// transaction.sign (do not propagate)
Params_A2W_tx_sign_noprop,
Result_W2A_tx_sign_noprop,
@@ -1110,6 +1110,177 @@ type EventData_W2A_address_subscribe
+//----------------------------------------------------------------------------
+// transaction.sign (do propagate)
+//----------------------------------------------------------------------------
+
+/**
+ * Parameters for "transaction.sign" (do propagate)
+ *
+ * If `returnSigned` is `false`, then Superhero will propagate the transaction.
+ *
+ * (layer 4)
+ *
+ * @example
+ * ```json
+ * {
+ * "tx": "tx_+FgMAaEBuzbuuWjOzR7ecjOY8+u7HdNk0KoxTQcCDerZELEQ+UShAXtm5sMFBwg25Ol5IFI9w+pZy7/YbFi6BwPqi80KuKdsCoYPJvVhyAAAAYdoYWluYW5h9uAnNQ==",
+ * "returnSigned": false,
+ * "networkId": "ae_uat"
+ * }
+ * ```
+ */
+type Params_A2W_tx_sign_yesprop
+ = {tx : string,
+ returnSigned : false,
+ networkId : string}
+
+
+
+/**
+ * Success result type for "transaction.sign" (do propagate)
+ *
+ * (layer 4)
+ *
+ * @example
+ * ```json
+ * "transactionHash": {
+ * "blockHash": "mh_uJZ65APpLtiagJKjTNPZL1g1LJ7oqc2uG44qVqp1gVWwWUgLb",
+ * "blockHeight": 806313,
+ * "hash": "th_o3cudpezVywd99a7VMef9Yg7XPixTFueaCqGjdsnqLM99a78t",
+ * "signatures": [
+ * "sg_U36NDTFJFP4QEWCdjyhELDUDxsVGZNkq3DrcBCxby4NPUsPjQsFDG7VHN9s7TNUsEAd7qdC5aEjZKrqsKyfqA8apNrotz"
+ * ],
+ * "tx": {
+ * "amount": 10,
+ * "fee": 16800000000000,
+ * "nonce": 13,
+ * "payload": "ba_aGFpbmFuYWbkNu8=",
+ * "recipientId": "ak_wM8yFU8eSETXU7VSN48HMDmevGoCMiuveQZgkPuRn1nTiRqyv",
+ * "senderId": "ak_2XhCkjzTwcq1coXSSzHJoMZkUzTwnjH88zmPGkkowUsFNTo9UE",
+ * "type": "SpendTx",
+ * "version": 1
+ * },
+ * "rawTx": "tx_+KILAfhCuEDOpyHRaYj8MnRwqOzMyRJSh4qud6jRK01wiAWfRHBDo/4e9klk7MsvM0Cr0ENaNkqKfwCDcaga/iDnogN5cukNuFr4WAwBoQHJY35GAOerO8Lmf8ZA6CN2RET0MFXaXVV4pJo3WvoY3KEBe2bmwwUHCDbk6XkgUj3D6lnLv9hsWLoHA+qLzQq4p2wKhg9HjghAAAANh2hhaW5hbmHkTCSc"
+ * }
+ * ```
+ */
+type Result_W2A_tx_sign_yesprop
+ = {transactionHash : {blockHash : string,
+ blockHeight : number,
+ hash : string,
+ signatures : Array
-
+
+
Result:
- 4.4 Propagate the transaction (parasite)
- 4.5 Verify the transaction was propagated (parasite)
+
+
+
+ Result:
+
+ 4.4 Propagate the transaction (parasite) FIXME
+ 4.5 Verify the transaction was propagated (parasite) FIXME
5. Sign a message
diff --git a/sidekick_examples/jex.eterms b/sidekick_examples/jex.eterms
index 48888e9..02cfab3 100644
--- a/sidekick_examples/jex.eterms
+++ b/sidekick_examples/jex.eterms
@@ -1,7 +1,7 @@
{type, library}.
{realm, local}.
{name, sidekick_examples}.
-{version, "0.1.0"}.
-{deps, ["local-awcp-0.2.1",
- "local-parasite-0.2.0",
- "local-sidekick-0.2.1"]}.
+{version, "0.2.2"}.
+{deps, ["local-awcp-0.2.2",
+ "local-parasite-0.2.2",
+ "local-sidekick-0.2.2"]}.
diff --git a/sidekick_examples/src/connection.ts b/sidekick_examples/src/connection.ts
index 0d6f5b4..3de5edc 100644
--- a/sidekick_examples/src/connection.ts
+++ b/sidekick_examples/src/connection.ts
@@ -1,6 +1,6 @@
-import * as ae_node from './jex_include/local-parasite-0.2.0/dist/ae_node.js';
-import * as awcp from './jex_include/local-awcp-0.2.1/dist/awcp.js';
-import * as sk from './jex_include/local-sidekick-0.2.1/dist/sidekick.js';
+import * as ae_node from './jex_include/local-parasite-0.2.2/dist/ae_node.js';
+import * as awcp from './jex_include/local-awcp-0.2.2/dist/awcp.js';
+import * as sk from './jex_include/local-sidekick-0.2.2/dist/sidekick.js';
var pv_address: string;
var pv_spendtx_base64: string;
@@ -181,6 +181,7 @@ form_tx
//
}
+
async function
sign_tx
(logger: sk.Logger)
@@ -197,6 +198,24 @@ sign_tx
document.getElementById("sign-spendtx-result")!.innerHTML = JSON.stringify(signedTx, undefined, 4);
}
+
+async function
+sign_tx_prop
+ (logger: sk.Logger)
+ : Promise
Vanillae started as our own internal toolset that we developed in the - process of making Aegora.jp. In - particular, Craig developed Vanillae.erl because talking to the blockchain - was needlessly annoying, and Peter developed Sidekick because the Æternity - JavaScript SDK was (is) impossible to use. We then open-sourced our - tooling, and the Æternity Foundation decided to pay us to continue to - develop it and expand it.
+ process of making Aegora.jp. Aegora is a + normal, vanilla, e-commerce site. We just happen to use Æternity as the + payment backend. In particular, Craig developed Vanillae.erl because + talking to the blockchain from the server backend was needlessly annoying, + and Peter developed Sidekick because the Æternity JavaScript SDK was (is) + impossible to use. We then open-sourced our "talk to Æternity" tooling, + and the Æternity Foundation decided to pay us to continue to develop it and + expand it.Aegora is the first normal e-commerce platform that utilizes any form of cryptocurrency. We would like if Aegora made us billionaires, but really @@ -120,17 +122,34 @@
Our hypothesis is that most cryptocurrencies (i.e. every coin except Æternity) are technically deficient to the point that they are totally - useless in the space of Things That Actually Have To Work (i.e. - business).
+ useless in The Space Of Things That Actually Have To Work (e.g. + non-scam commerce). To test this hypothesis, our goal is to make Æternity + easily usable and see if people start using it in The Space Of Things That + Actually Have To Work. + +As of July 2023, Æternity is still in the same usability class as Arch + Linux. Our goal with this project to get to like Debian.
+ +
From our personal experience building Aegora, once you understand how + to use it, Æternity is by far the easiest electronic + payment system to use in a commercial application. It is the genuine + manifestation of Satoshi's dream.
- This is an Erlang application that smooths over the rough edges - involved in talking to Æternity nodes. -
+This is an Erlang application that smooths over the rough edges + involved in talking to Æternity nodes from an Erlang program.
+ +Vanillae.erl is also a standard that is meant to be mimicked in other + languages. The idea is to have a "library" (Erlangers: it's an Erlang + application) of Erlang function calls that return natural Erlang data + structures. The API is designed in such a way that the API should + generalize to other languages. We would like there to be a Vanillae.py for + instance (Python 2 of course), which would maybe require startup or + something, maybe the natural idiom would be whatever you do to make `with` + syntax work, whatever. The point is, there should be a