Discussions

Ask a Question

Xumm KYC

Is there a way to add the KYC status to the ripple account? Is there a way to call an outside api though a hook? I've got a hook that can only accept a specific issuer/token but I also want this to be pinned to the KYC that is done through Xumm.. Any thoughts?

Can I use AssemblyScript?

Hi team, Do you see any issue with using https://www.assemblyscript.org/ ? I tried to compile your simple `accept` hook with AssemblyScript but when I submit the transaction with ripple-lib I get an error message: ``` data: { resultCode: 'temMALFORMED', resultMessage: 'Malformed transaction.', engine_result: 'temMALFORMED', engine_result_code: -299, engine_result_message: 'Malformed transaction.', tx_blob: '12001622800000002400441FC5201B004565333010000000000000000068400000000000000C7321031707DDB63EB8B5447371F1EA5B83009475AE0981388BB7352403393F82230E1B74473045022100E4F443EE595F93F4F604117D215A21CE5AC81974364155AA45BE6286E3A3978002203487A9EA95C297CD82281089DBC0B09A87384C99866B2BC1EDAD00AA1BE1698D7BA50061736D0100000001130360017E017E60037F7F7E017E60027F7F017F021D0207636F6E74726F6C066163636570740001057574696C73025F67000203030200000503010000071803046362616B000204686F6F6B0003066D656D6F727902000A1B02040042000B140041004100420010001A4101410110011A42000B002610736F757263654D617070696E6755524C142E2F6F7074696D697A65642E7761736D2E6D61708114A9E75BEA9E40D24E411DC9E5B1E209C5F015BA10', tx_json: { Account: 'rGV4MXcjPTkdhVZLFrddVQPHz1WdXkvK6g', CreateCode: '0061736D0100000001130360017E017E60037F7F7E017E60027F7F017F021D0207636F6E74726F6C066163636570740001057574696C73025F67000203030200000503010000071803046362616B000204686F6F6B0003066D656D6F727902000A1B02040042000B140041004100420010001A4101410110011A42000B002610736F757263654D617070696E6755524C142E2F6F7074696D697A65642E7761736D2E6D6170', Fee: '12', Flags: 2147483648, HookOn: '0000000000000000', LastLedgerSequence: 4547891, Sequence: 4464581, SigningPubKey: '031707DDB63EB8B5447371F1EA5B83009475AE0981388BB7352403393F82230E1B', TransactionType: 'SetHook', TxnSignature: '3045022100E4F443EE595F93F4F604117D215A21CE5AC81974364155AA45BE6286E3A3978002203487A9EA95C297CD82281089DBC0B09A87384C99866B2BC1EDAD00AA1BE1698D', hash: 'BA20CC222EE7A87D8C969B732041C3E92FDA7D6E66B9550294C65B3ADB7EAA29' } } ``` Also in the rippled logs are showing: ``` 2021-Sep-27 10:55:29.827798400 UTC OpenLedger:TRC HookSet[rGV4MXcjPTkdhVZLFrddVQPHz1WdXkvK6g-BA20CC222EE7A87D8C969B732041C3E92FDA7D6E66B9550294C65B3ADB7EAA29]: Malformed transaction. Hook attempted to specify import module other than 'env' ``` Thank you

[accept Hook] - Cannot read property 'toBytesSink' of undefined

Hi, I am learning about Hooks and I wanted to try first with something simple and the "accept" hook. I am using your code in accept.js and when I run it with "node accept.js ssXUB..." I get the following error: TypeError: Cannot read property 'toBytesSink' of undefined at BinarySerializer.writeFieldAndValue (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-binary-codec/dist/serdes/binary-serializer.js:125:32) at /Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-binary-codec/dist/types/st-object.js:130:19 at Array.forEach (<anonymous>) at Function.STObject.from (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-binary-codec/dist/types/st-object.js:128:16) at serializeObject (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-binary-codec/dist/binary.js:59:32) at signingData (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-binary-codec/dist/binary.js:75:12) at Object.encodeForSigning (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-binary-codec/dist/index.js:37:12) at computeSignature (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-lib/dist/npm/transaction/sign.js:36:41) at signWithKeypair (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-lib/dist/npm/transaction/sign.js:59:42) at RippleAPI.sign (/Users/fuzio/Documents/Ripple/Github/webassembly-typescript/node_modules/ripple-lib/dist/npm/transaction/sign.js:163:16) Have you already faced this issue? Thank you

Removing Hooks

Whats the plan here? Are hooks overwritten?

How to store private information on a Hook?

I'm still new to Hooks and C in general but how can a Hooks developer store personal and confidential information on a Hook (e.x: Full Name, Age, ID) without it being publicly available. I'm planning to code a Hook that only accepts KYC/AML enabled accounts' transactions to avoid unwanted transactions to the receiving account. Any centralized or decentralized structures are accepted. Thank you.
ANSWERED

Can someone help with a simple EVM smart contract to Hook example?

Its difficult for me to understand the hooks because I have so little experience in C++. I think it would be great if we did a cross EVM / Hook example? Also, I noticed there ins't a lot of tutorials. Its just straight documentation. When I started with solidity and EVM, the medium articles really helped me. I could write one for more exposure maybe showing the example of a very simple smart contract? Also, I wanted to say thank you to those who already put in work. The C files really include good notes and it has helped me a lot in the beginning. Docker was a breeze. Now I'm just trying to understand state/slot and STO. YOU GUYS ROCK!!!
ANSWERED

Create a youtube tutorial for Hooks.

It would be great if you could post tutorials about Hooks (programming, settings, logic), this will help the developers learn the basics of Hooks and implement their own smart contracts in the testnet.
ANSWERED

Welcome to XRPL Hooks documentation

If you have (technical) questions, please post them here. Try to help each other, and we (the XRPL Labs team, working on Hooks) will actively monitor discussions as well. If something is unclear (how to, why, design decisions, how would X work, etc.), please let us know as well: we may be able to update the documentation, examples, etc. based on your input.